基于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 相关文章推荐
High Performance JavaScript(高性能JavaScript)读书笔记分析
May 05 Javascript
Javascript中引用示例介绍
Feb 21 Javascript
jquery淡入淡出效果简单实例
Jan 14 Javascript
前端jquery部分很精彩
May 03 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
Jun 08 Javascript
深入学习Bootstrap表单
Dec 13 Javascript
vue.js简单配置axios的方法详解
Dec 13 Javascript
Express下采用bcryptjs进行密码加密的方法
Feb 07 Javascript
小程序实现发表评论功能
Jul 06 Javascript
vue调试工具vue-devtools安装及使用方法
Nov 07 Javascript
VUE v-model表单数据双向绑定完整示例
Jan 21 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
Nov 13 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
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
php 获取当前访问的url文件名的方法小结
2010/02/08 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
Javascript 跨域访问解决方案
2009/02/14 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
node.js中的url.format方法使用说明
2014/12/10 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
2018/11/29 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
python中字符串的编码与解码详析
2020/12/03 Python
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
个人政风行风自查自纠报告
2014/10/21 职场文书
2014年平安夜寄语
2014/12/08 职场文书
英文自荐信范文
2015/03/25 职场文书
公司表扬信格式
2015/05/04 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
初中班主任工作随笔
2015/08/15 职场文书
企业团队精神心得体会
2016/01/19 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
java调用Restful接口的三种方法
2021/08/23 Java/Android
MySQL 数据库范式化设计理论
2022/04/22 MySQL