基于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 相关文章推荐
使用ExtJS技术实现的拖动树结点
Aug 05 Javascript
JS自动缩小超出大小的图片
Oct 12 Javascript
js中的如何定位固定层的位置
Jun 15 Javascript
Javascript中数组sort和reverse用法分析
Dec 30 Javascript
JavaScript基本语法讲解
Jun 03 Javascript
discuz表情的JS提取方法分析
Mar 22 Javascript
关于vue.js v-bind 的一些理解和思考
Jun 06 Javascript
Vue编写多地区选择组件
Aug 21 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
Feb 21 Javascript
element-ui中Table表格省市区合并单元格的方法实现
Aug 07 Javascript
layui--js控制switch的切换方法
Sep 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
用PHP程序实现支持页面后退的两种方法
2008/06/30 PHP
PHP获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
PHP查找与搜索数组元素方法总结
2015/06/12 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
快速排序 php与javascript的不同之处
2011/02/22 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
详解node+express+ejs+bootstrap构建项目
2017/09/27 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
vue配置接口域名方法总结
2019/05/12 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
python实现从web抓取文档的方法
2014/09/26 Python
python画图的函数用法以及技巧
2019/06/28 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
Python函数中的可变长参数详解
2019/09/12 Python
Python txt文件如何转换成字典
2020/11/03 Python
德国婴儿推车和儿童安全座椅商店:BABYSHOP
2016/09/01 全球购物
小学体育教学反思
2014/01/31 职场文书
商务日语专业自荐信
2014/04/17 职场文书
四年级学生评语大全
2014/04/21 职场文书
党员教师自我剖析材料
2014/09/29 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
入党自传范文2015
2015/06/26 职场文书
应届生个人的求职(自荐信范文2篇)
2019/08/23 职场文书
教你利用Selenium+python自动化来解决pip使用异常
2021/05/20 Python