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 相关文章推荐
JavaScript判断窗口是否最小化的代码(跨浏览器)
Aug 01 Javascript
javascript 保存文件到本地实现方法
Nov 29 Javascript
javascript生成json数据简单示例分享
Feb 14 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 Javascript
浅谈基于Vue.js的移动组件库cube-ui
Dec 20 Javascript
vue打包使用Nginx代理解决跨域问题
Aug 27 Javascript
JavaScript判断浏览器版本的方法
Nov 03 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
Jan 16 Javascript
24个解决实际问题的ES6代码片段(小结)
Feb 02 Javascript
es6 super关键字的理解与应用实例分析
Feb 15 Javascript
Vue左滑组件slider使用详解
Aug 21 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
Oct 27 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
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
smarty自定义函数用法示例
2016/05/20 PHP
如何利用预加载优化Laravel Model查询详解
2017/08/11 PHP
PHP实现的解汉诺塔问题算法示例
2018/08/06 PHP
JavaScript中的setUTCDate()方法使用详解
2015/06/11 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
原生JS实现DOM加载完成马上执行JS代码的方法
2018/09/07 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
JS算法题之查找数字在数组中的索引位置
2019/05/15 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
[00:29]2019完美世界全国高校联赛(秋季赛)总决赛海口落幕
2019/12/10 DOTA
python异常和文件处理机制详解
2016/07/19 Python
python数据清洗系列之字符串处理详解
2017/02/12 Python
python在线编译器的简单原理及简单实现代码
2018/02/02 Python
django的settings中设置中文支持的实现
2019/04/28 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
如何在 Django 模板中输出 &quot;{{&quot;
2020/01/24 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
Python 求向量的余弦值操作
2021/03/04 Python
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
传统软件工程与面向对象的软件工程有什么区别
2012/05/31 面试题
挂职思想汇报
2013/12/31 职场文书
优秀员工获奖感言
2014/03/01 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
Python面向对象之内置函数相关知识总结
2021/06/24 Python