基于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 相关文章推荐
图片自动更新(说明)
Oct 02 Javascript
ie和firefox不兼容的解决方法集合
Apr 28 Javascript
jQuery Autocomplete自动完成插件
Jul 17 Javascript
js实现点击获取验证码倒计时效果
Jan 28 Javascript
学习JavaScript设计模式(封装)
Nov 26 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
Mar 21 jQuery
JS+canvas绘制的动态机械表动画效果
Sep 12 Javascript
Vue工程模板文件 webpack打包配置方法
Dec 26 Javascript
Vue Router去掉url中默认的锚点#
Aug 01 Javascript
js核心基础之构造函数constructor用法实例分析
May 11 Javascript
Element Badge标记的使用方法
Jul 27 Javascript
JavaScript实现HTML导航栏下拉菜单
Nov 25 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
基于php冒泡排序算法的深入理解
2013/06/09 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
use jscript List Installed Software
2007/06/11 Javascript
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
2012/01/21 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
Python转换HTML到Text纯文本的方法
2015/01/15 Python
python验证码识别实例代码
2018/02/03 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
python调用百度语音REST API
2018/08/30 Python
python学生信息管理系统(初级版)
2018/10/17 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
如何在python中实现随机选择
2019/11/02 Python
Python实现元素等待代码实例
2019/11/11 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
使用css3制作登录表单的步骤
2014/04/07 HTML / CSS
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
abstract是什么意思
2012/02/12 面试题
经济管理毕业生求职信
2014/03/15 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
python3实现无权最短路径的方法
2021/05/12 Python
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP