全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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浏览器。

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


# FileReader图片上传预览  # js图片上传预览  # js图片预览  # FileReader图片上传  # js利用FileReader读取本地文件或者blob方式  # JavaScript中的FileReader示例详解  # JavaScript通过filereader接口读取文件  # JS中FileReader类实现文件上传及时预览功能  # Js中FileReader读取文件内容方法详解(async/await)  # Js中的FileReader相关操作方法总结  # 并将  # 的是  # 几个  # 不支持  # 请选择  # 文件系统  # 大家多多  # 多张  # 上传文件  # 而不是  # 实现了  # 上传  # xhtml  # brush  # pre  # br  # multiple  # class  # input  # gt 


相关文章: 上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  如何零成本快速生成个人自助网站?  建站之星如何快速解决建站难题?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  建站VPS配置与SEO优化指南:关键词排名提升策略  如何快速搭建二级域名独立网站?  c# await 一个已经完成的Task会发生什么  微信推文制作网站有哪些,怎么做微信推文,急?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  如何在西部数码注册域名并快速搭建网站?  如何安全更换建站之星模板并保留数据?  建站上传速度慢?如何优化加速网站加载效率?  如何快速辨别茅台真假?关键步骤解析  如何快速搭建支持数据库操作的智能建站平台?  如何实现建站之星域名转发设置?  如何用西部建站助手快速创建专业网站?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  建站之星如何修改网站生成路径?  建站之星如何一键生成手机站?  如何做网站制作流程,*游戏网站怎么搭建?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  西安大型网站制作公司,西安招聘网站最好的是哪个?  C++中引用和指针有什么区别?(代码说明)  建站之星在线版空间:自助建站+智能模板一键生成方案  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  如何快速使用云服务器搭建个人网站?  制作电商网页,电商供应链怎么做?  如何在宝塔面板中修改默认建站目录?  大连网站制作公司哪家好一点,大连买房网站哪个好?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  建站之星在线客服如何快速接入解答?  如何通过商城免费建站系统源码自定义网站主题?  javascript中的try catch异常捕获机制用法分析  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  在线制作视频的网站有哪些,电脑如何制作视频短片?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  香港服务器选型指南:免备案配置与高效建站方案解析  如何配置IIS站点权限与局域网访问?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  建站主机选哪种环境更利于SEO优化?  Android自定义控件实现温度旋转按钮效果  宝塔建站教程:一键部署配置流程与SEO优化实战指南  用v-html解决Vue.js渲染中html标签不被解析的问题  C#怎么使用委托和事件 C# delegate与event编程方法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。