支持File API的浏览器有IE10 ,Firefox3.5 ,Opera10.6 ,Safari5 ,Chrome。

1.在表单元素上<input type="fiel" name="file" id="file" />,可以选择一个或多个文件,通过获取文件元素对象的集合files,来操作每一个对象files[i];

用法:DOM操作

  var files=document.getElementById("file");

  var file=files.files;//每一个file对象对应一个文件。

  file.name//获取本地文件系统的文件名。

  file.size//文件的字节大小。

  file.type//字符串类型,文件的MIME类型。

  file.lastModifiedDate//文件的最后修改时间。(只使用于Chrome浏览器)

2.通过FileReader类型读取文件中的数据(异步文件读取)

FileReader有一下几种读取文件数据的方法

1).readAsText(file,encoding);以纯文本的形式读取文件,将读取到的文件保存到result属性。encoding参数用于指定编码类型,是可选的。

2).readAsDataURL(file);读取文件并将文件数据以URL形式保存到result属性中。(读取图像文件常用方法)

3).readAsBinaryString(file);读取文件并将一个字符串保存在result属性中,字符串中的每个字符表示一字节。

4).readAsArrayBuffer(file);读取文件并将一个包含文件内容的ArrayBuffer保存在result属性中。

3.FileReader提供了几个事件最有用的三个事件,progress,error,load,分别表示是否又读取了新数据,是否发生了错误,是否已经读完整个文件。

使用方法:

var reader=new FileReader();

if(/image/.test(file[0].type)){//操作图像

  reader.readAsDataURL(file[0]);

  var type='image';

}else{//操作文本

  read.readAsText(file[0]);

  var type='text';

}

reader.οnerrοr=function(){

  //出错时执行

}

reder.οnprοgress=function(){

//有加载新数据时执行

}

reder.οnlοad=function(){

  if(type=='image'){

    var html="<img src=\" " reader.result " \">";//已经加载完了执行

  }else if(type='text'){

    var html=reader.result

  }

  Obj.innerHTML=html;//显示在指定元素对象上

}

更多专业前端知识,请上 【猿2048】www.mk2048.com

js文件处理File相关推荐

  1. html5 文件转byte[],JS 文件base64、File、Blob、ArrayBuffer互转

    二进制互转 1. file对象转base64let reader = new FileReader(); reader.readAsDataURL(file[0]) console.log(reade ...

  2. js获取input file框(文件上传框)内容,上传后台

    直接复制,修改jquery为你的本地路径,本js可以把file选择的图片,转化为base64对象.无论是回显,还是转成图片,或者直接上传后台都是可以滴. <!DOCTYPE html> & ...

  3. js文件上传以及js清空input file值

    最近项目中遇到文件上传的案例, 之前涉及文件上传的较少, 今天针对js文件上传的案例做一个详细的教程,方便日后查阅! 本教程从 原生JS, jQuery, 两处着手简单介绍文件上传案例 1.原生JS ...

  4. Eclipse编辑jsp、js文件时,经常出现卡死现象解决汇总

    使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...

  5. js文件引用方式及其同步执行与异步执行

    详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp74 任何以appendChild(scriptNode) 的方式引入的j ...

  6. php动态引入js文件路径问题,JavaScript_动态加载外部css或js文件,原理解析:第一步:使用dom创 - phpStudy...

    原理解析:第一步:使用dom创建 应用:1.提高代码的复用,减少代码量:2.添加一个javascript控制器和 session可以实现动态改变页面样式:3.由于是页面是从上到下依次加载文件的,并且边 ...

  7. iOS native集成Weex js文件 不显示提示框问题

    问题: iOS集成0.15.1版本的WeexSDK,编译器Xcode9.2,加载js文件提示框不显示问题. 如图:不显示提示框: 正常情况下: 解决方法:找到项目的info.plist,删除Main ...

  8. vue js 定义对象_JS标准内置对象Proxy及Vue中的proxy.js文件

    昔登铜井望法华,葱茏螺黛浮蒹葭.今登法华望铜井,湖水迷茫烟色瞑.-- <登法华寺山顶> Proxy是什么 Proxy是JS标准内置对象中的一个对象.用于创建一个对象的代理.从而实现对对象操 ...

  9. javascript:重新加载js文件

    //重新加载js文件         function loadJs(file) {             var head = $("head").remove("s ...

最新文章

  1. [docker]docker压力测试
  2. idea每次都要配置tomcat_电脑每次开机时间都不对?电脑每次开机都要重新设置时间解决方法...
  3. ExecuteScaler的三种返回值。
  4. 兼容所有浏览器的CSS3圆角效果
  5. B站COO李旎:超2000万人在B站看纪录片
  6. 【算法】算法 二分查找 二分查找 查找多个相同的值
  7. 设计模式(八) : 结构型模式--装饰模式
  8. traceroute tracert
  9. 10+年程序员告诉你职场误区,如何快速提升自己?
  10. Spark之UpdateStateByKey算子
  11. wpe代理管家_wpe不能抓取封包
  12. java wsdl 服务端代码_wsdl2java 生成 webservice服务端代码:
  13. stata 将数据集变量名称导出_Stata 15 统计数据分析软件
  14. MS coco数据集介绍及下载
  15. python非参数检验
  16. 【论文阅读-表情捕捉】High-quality Real Time Facial Capture Based on Single Camera
  17. 安卓开发—Android基础
  18. 【人工智能】八皇后问题-启发式求解
  19. 十种深度学习算法要点及代码解析(转)
  20. ICPR 2022 | 多模态字幕识别竞赛正式启动!

热门文章

  1. java readline 超时_跳过Java中的BufferedReader readLine()方法
  2. php mailer altbody,PHPMailer发送邮件中文乱码的解决办法
  3. sqlserver添加默认值
  4. (五)Struts2 标签
  5. zabbix主动、被动检测的详细过程与区别
  6. conflicting types for ‘方法名’ 的错误
  7. 关于几本模拟IC设计书
  8. 2015年,Web 进入移动时代
  9. C#正则表达式编程(二):Regex类用法
  10. java sqlserver 死锁_sqlserver数据库发生死锁处理