JavaScript html5利用FileReader实现上传功能


Posted in Javascript onMarch 27, 2020

本文实例为大家分享了H5利用FileReader上传文件的具体代码,供大家参考,具体内容如下

1. Html部分

<h2>文件上传演练</h2> 
 <div id="result"> 
 <!-- 这里用来显示读取结果 --> 
 <div id="inResult"> 
 <div id="inImgs"></div> 
 <div id="imgInfo"></div> 
 </div> 
 </div> 
 
 <input type="text" id="txtImgSrc" /><!--显示图片信息--> 
 <input type="button" id="btnRemove" /> 
 <button id="btnBrowse" onClick="onFile()">Browse...</button> 
 <input type="file" id="file_input" />

2. JS部分

<script type="text/javascript"> 
 var result = document.getElementById("result"); 
 var input = document.getElementById("file_input"); 
 var inResult = document.getElementById('inResult'); 
 
 if(typeof FileReader === 'undefined'){ 
 result.innerHTML = "抱歉,你的浏览器不支持 FileReader"; 
 input.setAttribute('disabled','disabled'); 
 }else{ 
 input.addEventListener('change',readFile,false); 
 } 
 function onFile(){ 
 document.getElementById('file_input').click(); //打开<input type="file" id="file_input" /> 
 }  
   
 function readFile(){ 
 var file = this.files[0]; 
 var fsize = parseInt((file.size)/1024); //计算图片大小,默认是B,转换成KB 
 if(!/image\/\w+/.test(file.type)){ 
  alert("请确保文件为图像类型"); 
  return false; 
 } 
 var reader = new FileReader(); 
 reader.readAsDataURL(file); 
  
 reader.onload = function(e){ 
  //alert(this.result); 
  inImgs.innerHTML = '<img src="'+this.result+'" alt="" width="198px" height="250px" id="img"/>'; //显示图片 
  var arr = input.value.split('\\'); //分割图片路径 
  document.getElementById('result').style.display="block"; 
  document.getElementById('txtImgSrc').value = arr[arr.length-1]; //取数组最后部分 - 图片名字.jpg 
  document.getElementById('imgInfo').innerHTML = arr[arr.length-1]+"<br/>("+fsize+"kb)"; //显示图片名字加图片大小 
  
 } 
 } 
</script>

3.图片测试

JavaScript html5利用FileReader实现上传功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
url 特殊字符 传递参数解决方法
Jan 01 Javascript
JS远程获取网页源代码实例
Sep 05 Javascript
jquery默认校验规则整理
Mar 24 Javascript
js图片模糊切换显示特效的方法
Feb 17 Javascript
在Docker快速部署Node.js应用的详细步骤
Sep 02 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
Oct 13 Javascript
angular 基于ng-messages的表单验证实例
May 04 Javascript
vue和webpack安装命令详解
Jun 15 Javascript
原生JS实现的轮播图功能详解
Aug 06 Javascript
vue.js父子组件通信动态绑定的实例
Sep 28 Javascript
js实现继承的方法及优缺点总结
May 08 Javascript
js中的this的指向问题详解
Aug 29 Javascript
利用ES6语法重构React组件详解
Mar 02 #Javascript
深入理解在JS中通过四种设置事件处理程序的方法
Mar 02 #Javascript
JavaScript表单验证完美代码
Mar 02 #Javascript
js实现常见的工具条效果
Mar 02 #Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
Mar 02 #Javascript
jQuery给表格添加分页效果
Mar 02 #Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
Mar 02 #Javascript
You might like
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
易操作的jQuery表单提示插件
2015/12/01 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
Bootstrap提示框效果的实例代码
2017/07/12 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
2019/05/07 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
在Django中限制已登录用户的访问的方法
2015/07/23 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
学习和使用python的13个理由
2019/07/30 Python
python实现高斯投影正反算方式
2020/01/17 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
资深生产主管自我评价
2013/09/22 职场文书
计算机专业推荐信范文
2013/11/20 职场文书
农村婚礼主持词
2014/03/13 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
文化产业实施方案
2014/06/07 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
电子商务专业求职信
2014/07/10 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
实习单位推荐信
2015/03/27 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS