基于JavaScript FileReader上传图片显示本地链接


Posted in Javascript onMay 27, 2016

简介

使用FileReader对象,web应用程序可以异步的读取存储在用户计算机上的文件(或者原始数据缓冲)内容,可以使用File对象或者Blob对象来指定所要处理的文件或数据.其中File对象可以是来自用户在一个<input type="text" />元素上选择文件后返回的FileList对象,也可以来自拖放操作生成的 DataTransfer对象,还可以是来自在一个HTMLCanvasElement上执行mozGetAsFile()方法后的返回结果.

基于JavaScript FileReader上传图片显示本地链接

基于JavaScript FileReader上传图片显示本地链接

页面中多个,上传多个图片DEMO代码

<!Doctype html>
<html>
 <head>
 <title>上传图片显示预览图</title>
 <style>
  #result img{
  height:100px;
  display:inline-block;
  margin-right:10px;
  margin-bottom:10px;
  }
 </style>
 </head>
 <body>
 <div class="add_imgs">
  <p> 
  <label>请选择一个图像文件:</label> 
  <input type="file" id="file_input" style="display:none;" /> 
  </p> 
  <div id="result">
  <a href="javascript:void(0);" class="add_img_btn">添加图片</a>
  </div> 
 </div>
 <div class="add_imgs">
  <p> 
  <label>请选择一个图像文件:</label> 
  <input type="file" id="file_input" style="display:none;" /> 
  </p> 
  <div id="result">
  <a href="javascript:void(0);" class="add_img_btn">添加图片</a>
  </div> 
 </div>
 <script src="jquery-2.2.1.min.js"></script>
 <script>
  $(".add_img_btn").unbind("click").on("click",function(){
  $(this).parents(".add_imgs").find("input[type=file]").click();
  var result = $(this).parent(); 
  var input = $(this).parents(".add_imgs").find("input[type=file]");
  dads(result,input);
  })
  
  
  function dads(result,input){
  if(typeof FileReader==='undefined'){ 
   result.innerHTML = "抱歉,你的浏览器不支持 FileReader"; 
   input.setAttribute('disabled','disabled'); 
  }else{ 
   $(input).unbind("change").on("change",function(){
   var file = this.files[0]; 
   if(!/image\/\w+/.test(file.type)){ 
    alert("文件必须为图片!"); 
    return false; 
   } 
   var reader = new FileReader(); 
   reader.readAsDataURL(file); 
   reader.onload = function(e){ 
    $(result).append('<img src="'+this.result+'" alt="" />'); 
   } 
   })
  } 
  }
 </script>
 </body>
</html>

以上就是本文的全部内容,希望对大家学习JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jQuery UI AutoComplete 使用说明
Jun 20 Javascript
jquery动态导航插件dynamicNav用法实例分析
Sep 06 Javascript
JQuery datepicker 用法详解
Dec 25 Javascript
jQuery图片切换动画特效
Nov 02 Javascript
老生常谈jquery中detach()和remove()的区别
Mar 02 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
May 26 Javascript
js实现文件上传功能 后台使用MultipartFile
Sep 08 Javascript
微信小程序新手教程之启动页的重要性
Mar 03 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
Sep 06 Javascript
JS中==、===你分清楚了吗
Mar 04 Javascript
javascript运行机制之执行顺序理解
Aug 03 Javascript
javascript实现雪花飘落效果
Aug 19 Javascript
Dojo获取下拉框的文本和值实例代码
May 27 #Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
May 27 #Javascript
js基于cookie方式记住返回页面用法示例
May 27 #Javascript
js获取客户端操作系统类型的方法【测试可用】
May 27 #Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
May 27 #Javascript
JS集成fckeditor及判断内容是否为空的方法
May 27 #Javascript
js实现div模拟模态对话框展现URL内容
May 27 #Javascript
You might like
第二节 对象模型 [2]
2006/10/09 PHP
PHP Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
javaScript中Math()函数注意事项
2015/06/18 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
javascript的this关键字详解
2019/05/20 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
2020/04/09 Javascript
一起深入理解js中的事件对象
2021/02/06 Javascript
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
详解Django解决ajax跨域访问问题
2018/08/24 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
2020/01/14 Python
parser.add_argument中的action使用
2020/04/20 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
财务会计自荐信范文
2014/02/21 职场文书
跳蚤市场口号
2014/06/13 职场文书
房产公证书
2015/01/23 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
干部考核工作总结
2015/08/12 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS