JavaScript使用FileReader实现图片上传预览效果
FileReader是HTML5FileAPI的一部分。它实现了一种异步文件读取机制。可以把FileReader想象为XMLHttpRequest,区别只是它读取的是文件系统,而不是远程服务器。为了读取文件中的数据,FileReader提供了如下几个方法。
- readAsText(file,encoding):以纯文本的方式读取文件,将读取到的文件保存到result属性中。
- readAsDataURL(file):读取文件并将文件以数据URI的形式保存在result属性中。
- readAsBinaryString(file):读取文件并将一个字符串保存在result属性中,字符串中的每个字符表示一个字节。
- readAsArrayBuffer(file):读取文件并将一个包含文件内容的ArrayBuffer保存在result属性中。
- multiple属性表示支持多张图片
$("#fileUpload").on('change',function(){ //获取上传文件的数量 varcountFiles=$(this)[0].files.length; varimgPath=$(this)[0].value; varextn=imgPath.substring(imgPath.lastIndexOf('.')+1).toLowerCase(); varimage_holder=$("#image-holder"); image_holder.empty(); if(extn=="gif"||extn=="png"||extn=="jpg"||extn=="jpeg"){ if(typeof(FileReader)!="undefined"){ //循环所有要上传的图片 for(vari=0;i",{ "src":e.target.result, "class":"thumb-image" }).appendTo(image_holder); } image_holder.show(); reader.readAsDataURL($(this)[0].files[i]); } }else{ alert("你的浏览器不支持FileReader!"); } }else{ alert("请选择图像文件。"); } });
FileReader可以支持InternetExplorer10+、FireFox,、Chrome和Opera浏览器。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。