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代码
Jul 20 Javascript
JS回调函数的应用简单实例
Sep 17 Javascript
漫谈JS引擎的运行机制 你应该知道什么
Jun 15 Javascript
DOM 事件的深入浅出(二)
Dec 05 Javascript
BootStrap Table 获取同行不同列元素的方法
Dec 19 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
Apr 29 Javascript
详解vue过滤器在v2.0版本用法
Jun 01 Javascript
详解js创建对象的几种方法及继承
Apr 12 Javascript
JS代码触发事件代码实例
Jan 02 Javascript
微信小程序接入腾讯云验证码的方法步骤
Jan 07 Javascript
uniapp实现横向滚动选择日期
Oct 21 Javascript
vue实现轮播图帧率播放
Jan 26 Vue.js
利用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语法速查表
2006/12/06 PHP
php写的带缓存数据功能的mysqli类
2012/09/06 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
IE6 fixed的完美解决方案
2011/03/31 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
vue项目从node8.x升级到12.x后的问题解决
2019/10/25 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
详解详解Python中writelines()方法的使用
2015/05/25 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
Rakuten Kobo台湾:电子书、eReaders和Reading应用程式
2017/11/24 全球购物
心理健康教育心得体会
2013/12/29 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
研究生导师推荐信
2015/03/25 职场文书
行政介绍信范文
2015/05/04 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
中国汉字听写大会观后感
2015/06/02 职场文书
教师远程研修感悟
2015/11/18 职场文书
高质量“欢迎词”
2019/04/03 职场文书
python基础入门之普通操作与函数(三)
2021/06/13 Python
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers