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设置文本框中焦点位置在最后的示例代码(简单实用)
Mar 04 Javascript
JavaScript仿支付宝密码输入框
Dec 29 Javascript
json实现添加、遍历与删除属性的方法
Jun 17 Javascript
JS清除字符串中重复值的实现方法
Aug 03 Javascript
Bootstrap按钮组简单实现代码
Mar 06 Javascript
node-sass安装失败的原因与解决方法
Sep 04 Javascript
VUE饿了么树形控件添加增删改功能的示例代码
Oct 17 Javascript
javascript、php关键字搜索函数的使用方法
May 29 Javascript
基于three.js实现的3D粒子动效实例代码
Apr 09 Javascript
vue中格式化时间过滤器代码实例
Apr 17 Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 Javascript
vant自定义二级菜单操作
Nov 02 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
世界第一个无线广播电台 KDKA
2021/03/01 无线电
php unset全局变量运用问题的深入解析
2013/06/17 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
超赞的动手创建JavaScript框架的详细教程
2015/06/30 Javascript
requireJS使用指南
2016/04/27 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
JS非行间样式获取函数的实例代码
2018/06/05 Javascript
vue项目设置scrollTop不起作用(总结)
2018/12/21 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
python数据结构之列表和元组的详解
2017/09/23 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
计算机维护专业推荐信
2014/02/27 职场文书
企业业务员岗位职责
2014/03/14 职场文书
社会公德演讲稿
2014/05/20 职场文书
国际贸易系求职信
2014/08/09 职场文书
研究生导师推荐信
2014/09/06 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书
Python中tqdm的使用和例子
2022/09/23 Python