基于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 相关文章推荐
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
May 08 Javascript
javascript脚本编程解决考试分数统计问题
Oct 18 Javascript
javascript 静态对象和构造函数的使用和公私问题
Mar 02 Javascript
js Array操作的最简短最容易理解方法
Dec 09 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
May 15 Javascript
javascript中几个容易混淆的概念总结
Apr 14 Javascript
TypeScript 中接口详解
Jun 19 Javascript
vscode中eslint插件的配置(prettier配置无效)
Sep 10 Javascript
JS Ajax请求会话过期处理问题解决方法分析
Nov 16 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
Aug 06 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
Aug 19 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
Dec 10 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
超人钢铁侠联手合作?美漫作家呼吁DC漫威合作联动以抵抗疫情
2020/04/09 欧美动漫
基于php伪静态的实现详细介绍
2013/04/28 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
详解基于webpack搭建react运行环境
2017/06/01 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
微信小程序实现滑动切换自定义页码的方法分析
2018/12/29 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
javascript实现搜索筛选功能实例代码
2020/11/12 Javascript
python实现文件快照加密保护的方法
2015/06/30 Python
Python网站验证码识别
2016/01/25 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
Django权限设置及验证方式
2020/05/13 Python
python switch 实现多分支选择功能
2020/12/21 Python
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
班级学雷锋活动总结
2014/06/26 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
南京导游词
2015/02/03 职场文书
python基础之文件操作
2021/10/24 Python
Python实现Hash算法
2022/03/18 Python
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers
Python sklearn分类决策树方法详解
2022/09/23 Python