基于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 相关文章推荐
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 Javascript
浅析JavaScript中的同名标识符优先级
Dec 06 Javascript
javascript页面渲染速度测试脚本分享
Apr 15 Javascript
JS实现超炫网页烟花动画效果的方法
Mar 02 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
Jan 13 Javascript
js插件Jcrop自定义截取图片功能
Oct 14 Javascript
微信小程序 图片宽度自适应的实现
Apr 06 Javascript
javascript算法之二叉搜索树的示例代码
Sep 12 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
Aug 22 Javascript
layui form表单提交后实现自动刷新
Oct 25 Javascript
vue 获取元素额外生成的data-v-xxx操作
Sep 09 Javascript
jQuery实现可以计算进制转换的计算器
Oct 19 jQuery
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
常用星际术语索引(新手指南)
2020/03/04 星际争霸
php下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
js页面跳转常用的几种方式
2010/11/25 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
Jquery公告滚动+AJAX后台得到数据
2011/04/14 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
js异步加载的三种解决方案
2013/03/04 Javascript
你必须知道的Javascript知识点之&quot;字面量和对应类型&quot;说明介绍
2013/04/23 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
js匿名函数使用&amp;传参(实例)
2017/09/08 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
2017/09/26 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
python中ConfigParse模块的用法
2014/09/29 Python
python中urllib模块用法实例详解
2014/11/19 Python
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
python在每个字符后添加空格的实例
2018/05/07 Python
python小项目之五子棋游戏
2019/12/26 Python
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
大学生军训广播稿
2014/01/24 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书