基于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跨域获得Json时invalid label错误的解决办法
Jan 11 Javascript
读jQuery之十二 删除事件核心方法
Jul 31 Javascript
用IE重起计算机或者关机的示例代码
Mar 10 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
May 27 Javascript
js实现class样式的修改、添加及删除的方法
Jan 20 Javascript
利用jQuery实现打字机字幕效果实例代码
Sep 02 Javascript
jQuery实现手机上输入后隐藏键盘功能
Jan 04 Javascript
浅谈vuex之mutation和action的基本使用
Aug 29 Javascript
详解封装基础的angular4的request请求方法
Jun 05 Javascript
浅谈react-router@4.0 使用方法和源码分析
Jun 04 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
Jan 12 Javascript
JavaScript实现贪吃蛇游戏
Jun 16 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
javascript中创建对象的三种常用方法
2010/12/30 Javascript
JS 自定义带默认值的函数
2011/07/21 Javascript
通过js简单实现将一个文本内容转译成加密文本
2013/10/22 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
解决vue2中使用axios http请求出现的问题
2018/03/05 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python生成pdf文件的方法
2014/08/04 Python
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
Flask框架的学习指南之用户登录管理
2016/11/20 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
对Python3 * 和 ** 运算符详解
2019/02/16 Python
python 公共方法汇总解析
2019/09/16 Python
Python实现代码统计工具
2019/09/19 Python
Django对接支付宝实现支付宝充值金币功能示例
2019/12/17 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
在C语言中实现抽象数据类型什么方法最好
2014/06/26 面试题
生产车间主管岗位职责
2013/12/28 职场文书
清扬洗发水广告词
2014/03/14 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
社团个人总结范文
2015/03/05 职场文书
英语通知范文
2015/04/22 职场文书
离婚上诉状范文
2015/05/23 职场文书
用Python实现Newton插值法
2021/04/17 Python
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS