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插入动态样式实现代码
Feb 22 Javascript
javascript设计模式 接口介绍
Jul 24 Javascript
JavaScript转换农历类实现及调用方法
Jan 27 Javascript
JavaScript实现基于十进制的四舍五入实例
Jul 17 Javascript
jQuery post数据至ashx实例详解
Nov 18 Javascript
js实现消息滚动效果
Jan 18 Javascript
js实现产品缩略图效果
Mar 10 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
Jul 19 Javascript
bootstrap datepicker插件默认英文修改为中文
Jul 28 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
Dec 15 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
Jul 03 jQuery
JS实现图片幻灯片效果代码实例
May 21 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判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
将php数组输出html表格的方法
2014/02/24 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
javascript 类定义的4种方法
2009/09/12 Javascript
javascript hashtable实现代码
2009/10/13 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
理解javascript异步编程
2016/01/27 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
2016/09/09 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
vue实现搜索功能
2019/05/28 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
2019/07/12 Javascript
Javascript如何实现双指控制图片功能
2020/02/25 Javascript
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
2020/11/02 Javascript
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
python版百度语音识别功能
2019/07/09 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
通信工程毕业生求职信
2013/11/16 职场文书
电子商务专业自我鉴定
2013/12/18 职场文书
英语教师自荐信
2014/05/26 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
高中政治教师教学反思
2016/02/23 职场文书
物业管理交接协议书
2016/03/24 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
DBCA命令行搭建Oracle ADG的流程
2021/06/11 Oracle