当前位置:首页 > 日记 > 正文

JavaScript使用FileReader实现上传预览效果

JavaScript使用FileReader实现上传预览效果

FileReader是HTML5 File API的一部分。它实现了一种异步文件读取机制。可以把FileReader想象为XMLHttpRequest,区别只是它读取的是文件系统,而不是远程服务器。为了读取文件中的数据,FileReader提供了如下几个方法。

  • readAsText(file,encoding):以纯文本的方式读取文件,将读取到的文件保存到result属性中。
  • readAsDataURL(file):读取文件并将文件以数据URI的形式保存在result属性中。
  • readAsBinaryString(file):读取文件并将一个字符串保存在result属性中,字符串中的每个字符表示一个字节。
  • readAsArrayBuffer(file):读取文件并将一个包含文件内容的ArrayBuffer保存在result属性中。
  • multiple 属性表示支持多张图片
<div id="wrapper">     <input id="fileUpload" type="file" multiple /><br /> <div id="image-holder"> </div></div>
$("#fileUpload").on('change', function () {   //获取上传文件的数量  var countFiles = $(this)[0].files.length;   var imgPath = $(this)[0].value;  var extn = imgPath.substring(imgPath.lastIndexOf('.') + 1).toLowerCase();  var image_holder = $("#image-holder");  image_holder.empty();   if (extn == "gif" || extn == "png" || extn == "jpg" || extn == "jpeg") {    if (typeof (FileReader) != "undefined") {       // 循环所有要上传的图片      for (var i = 0; i < countFiles; i++) {         var reader = new FileReader();        reader.onload = function (e) {          $("<img />", {            "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 可以支持 Internet Explorer 10+、FireFox,、Chrome 和Opera浏览器。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章

win2008 r2系统iis7中如何设置ip限

win2008 r2系统iis7中如何设置ip限

系统,如何设置,电脑软件,ip,iis7中设置ip限制的方法如图所示先进入IP地址和域限制,如果没有则需要功能角色中添加此功能。默认禁止一切未授权的客户端访问。设置允许访问的网段。…

excel表格怎么设置打印铺满纸张

excel表格怎么设置打印铺满纸张

设置,方法,表格,纸张,铺满,  有时excel过短或者过长,我们想把这些内容占满一张a4纸张,过短的我们可以通过调整单元格宽、高及文字大小,过长的可以通过缩放等方法,下面给大家分享excel打印设置怎么把a4纸占满的方法,欢迎大家来到学习。excel表…

详谈构造函数加括号与不加括号的区

详谈构造函数加括号与不加括号的区

构造函数,括号,不加,区别,电脑软件,如下所示://首先定义一个构造函数Hellofunction Hello(){  alert(1);}//定义一个函数表达式var getName = function(){  alert(2);}//实例化对象,下面这两个如果构造函数没有形参的话,实例化的时候构造函数可以不…

jQuery使用bind函数实现绑定多个事

jQuery使用bind函数实现绑定多个事

事件,函数实现,绑定,方法,多个,本文实例讲述了jQuery使用bind函数实现绑定多个事件的方法。分享给大家供大家参考,具体如下:在jQuery中绑定多个事件名称是,使用空格隔开,举例如下:$("#foo").bind("mouseenter mouseleave", function() { $(t…

JavaScrpt判断一个数是否是质数的

JavaScrpt判断一个数是否是质数的

实例代码,质数,个数,电脑软件,JavaScrpt,废话不多说了,直接给大家贴代码了<script> //1、非正则实现 function isPrime(num) { // 不是数字或者数字小于2 if(typeof num !== "number" || !Number.isInteger(num)) { // Numbe…

怎么在word2013中制作带框字符在wo

怎么在word2013中制作带框字符在wo

字符,方法,电脑软件,strong,  WORD文字处理软件其功能十分强大,自身拥有专业、优雅、美观、省时、易操作等特点,可以说是当前全球使用人群最为广泛的文档工具。下面小编就教你怎么在word2013中制作带框字符。word2013中制作带框字符的方…

ajax实现页面加载和内容删除

ajax实现页面加载和内容删除

删除,页面加载,内容,电脑软件,ajax,ajax最大的好处就在于加载和删除的时候不会跳转页面,现在的网页大多都会选择用ajax来写,相比嵌入PHP代码来说减少了代码量,同时加载页面也会比较快,下面是用ajax以数据库fruit表为例写的加载页面和水果的删除…

JS原生带小白点轮播图实例讲解

JS原生带小白点轮播图实例讲解

轮播图,原生,白点,实例,电脑软件,咱们刚刚说了js原生轮播图,现在给他加上可以随着一起走动的小圆点吧!css代码:*{ margin:0px; padding: 0px; } ul{ width: 2500px; height: 300px; position: absolute; } li{ float: left; list-style…

PS+LR把灯光昏暗背景杂乱的室内照

PS+LR把灯光昏暗背景杂乱的室内照

教程,照片,通透,杂乱,昏暗,如何把灯光昏暗背景杂乱的室内照片变得干净通透仙气十足?教程中主要用到了Photoshop和Lightroom两款软件,从原图中可以看出这组照片没有打光,也不是在摄影棚拍的,是在背景比较乱的公共场合。可以看出现场灯光情况很差…

PS创建丰富多彩的背景和铅笔

PS创建丰富多彩的背景和铅笔

丰富多彩,背景,电脑软件,PS,这是一篇入门的Photoshop教程,将向您展示如何创建丰富多彩的背景和铅笔,感兴趣的朋友可以过来学习一下哦。 最终效果图:步骤:1、一开始你应该创建新的文档500&times;300像素和全白色。2、好的,之后使用矩形选框工具…

如何优化Word2007中页面视觉效果

如何优化Word2007中页面视觉效果

优化,视觉效果,页面,电脑软件,  有时候看word文档内容时,大小不那么令人舒适,又不想去改编辑好的文字大小和图片大小,那么页面显示比例的功能就派上用场了。以下是小编为您带来的关于优化Word2007中页面视觉效果,希望对您有所帮助。优化Word2…