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 相关文章推荐
JS版网站风格切换实例代码
Oct 06 Javascript
JavaScript开发规范要求(规范化代码)
Aug 16 Javascript
jQuery 隐藏和显示 input 默认值示例
Jun 03 Javascript
使用jquery制作弹出框效果
Apr 03 Javascript
以Python代码实例展示kNN算法的实际运用
Oct 26 Javascript
javascript鼠标右键菜单自定义效果
Dec 08 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
Aug 05 Javascript
vue项目中添加单元测试的方法
Jul 21 Javascript
angular4笔记系列之内置指令小结
Nov 09 Javascript
JavaScript显式数据类型转换详解
Mar 18 Javascript
JS实现根据详细地址获取经纬度功能示例
Apr 16 Javascript
JavaScript实现背景自动切换小案例
Sep 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中array_merge与array+array的区别
2013/06/21 PHP
PHP ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
表格 隔行换色升级版
2009/11/07 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
使用Chrome浏览器调试AngularJS应用的方法
2015/06/18 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
2016/04/20 Javascript
JavaScript 数组- Array的方法总结(推荐)
2016/07/21 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
HTML5开发Kinect体感游戏的实例应用
2017/09/18 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
详解JS函数防抖
2020/06/05 Javascript
跟老齐学Python之Python文档
2014/10/10 Python
python通过索引遍历列表的方法
2015/05/04 Python
横向对比分析Python解析XML的四种方式
2016/03/30 Python
Python 描述符(Descriptor)入门
2016/11/20 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Django后台获取前端post上传的文件方法
2018/05/28 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
python用线性回归预测股票价格的实现代码
2019/09/04 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
土木工程专业个人求职信
2013/12/05 职场文书
打架检讨书
2015/01/27 职场文书
学校就业保障协议书
2019/06/24 职场文书
Django migrate报错的解决方案
2021/05/20 Python