最近正在研究HTML和JavaScript读写本地文件的问题。在学习的过程中发现,虽然中文的网站上有一些HTML5 File API怎么使用的例子,但是几乎没有介绍File对象如何在JavaScript脚本中单独用构造函数初始化的。网上的例子几乎都是直接从HTML的INPUT标签直接读取File对象。后来我到国外网站搜索了一下,找到了一些有用的信息,现写出来和大家分享,也是为自己做一下记录。
首先File对象的构造函数可以有两个或三个参数。
两个参数的例子是这样的:
var objFile=new File(["First Line Text","Second Line Text"],FileName);
第一个参数是一个字符串数组。数组中的每一个元素对应着文件中一行的内容。
第二个参数就是文件名字符串。
如果是用三个参数的形式,代码就是这样的:
var objFile=new File(["First Line Text","Second Line Text"],FileName,{type: "text/plain", lastModified: date});
第三个参数可以设定一些文件的属性,比如文件的MIME,最后更新时间等。
这个API对浏览器的兼容性如下:
Feature
Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) | |
---|---|---|---|---|---|---|
Basic support | 13 | (Yes) | 3.0 (1.9)[1] 7 (7) | 10.0 | 11.5 | 6.0 |
name | ? | (Yes) | 3.6 (1.9.2) | ? | ? | ? |
lastModifiedDate | ? | No support | 15 (15) | ? | ? | ? |
webkitRelativePath | (Yes) | (Yes) | 49 (49) | ? | (Yes) | (Yes) |
手机系统浏览器兼容性如下:
Feature
Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | |
---|---|---|---|---|---|---|
Basic support | No support | (Yes) | 1.0 (1.9)[1] 7.0 (7) | No support | 11.1 | 6.0 |
name | ? | (Yes) | 1.0 (1.9.2) | ? | ? | ? |
lastModifiedData | ? | No support | 15.0 (15) | ? | ? | ? |
webkitRelativePath | (Yes) | (Yes) | 49.0 (49) | ? | (Yes) | (Yes) |