File - Web API 接口参考 编辑

文件(File)接口提供有关文件的信息,并允许网页中的 JavaScript 访问其内容。

通常情况下, File 对象是来自用户在一个 <input> 元素上选择文件后返回的 FileList 对象,也可以是来自由拖放操作生成的 DataTransfer 对象,或者来自 HTMLCanvasElement 上的 mozGetAsFile() API。在Gecko中,特权代码可以创建代表任何本地文件的File对象,而无需用户交互(有关详细信息,请参阅注意事项

File 对象是特殊类型的 Blob,且可以用在任意的 Blob 类型的 context 中。比如说, FileReader, URL.createObjectURL(), createImageBitmap(), 及 XMLHttpRequest.send() 都能处理 BlobFile

参考 从Web应用程序使用文件 了解更多信息和例子。

构造函数

File()
返回一个新构建的文件对象(File)。

属性

File 接口也继承了 Blob 接口的属性:

File.lastModified 只读
返回当前 File 对象所引用文件最后修改时间,自 UNIX 时间起始值(1970年1月1日 00:00:00 UTC)以来的毫秒数。
File.lastModifiedDate 只读
返回当前 File 对象所引用文件最后修改时间的 Date 对象。
File.name 只读
返回当前 File 对象所引用文件的名字。
File.size 只读
返回文件的大小。
File.webkitRelativePath 只读
返回 File 相关的 path 或 URL。
File.type 只读
返回文件的 多用途互联网邮件扩展类型(MIME Type)

方法

File 接口没有定义任何方法,但是它从 Blob 接口继承了以下方法:

Blob.slice([start[, end[, contentType]]])
返回一个新的 Blob 对象,它包含有源 Blob 对象中指定范围内的数据。

规范

规范状态注释
File APIWorking DraftInitial definition

浏览器兼容性

BCD tables only load in the browser

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.

注意事项

  • 在 Gecko 中,你可以从 Chrome 代码中使用这个 API。详细内容参见 Using the DOM File API in chrome code。若要从 chrome 代码, JSM 和引导范围中使用它,你必须使用 Cu.importGlobalProperties(['File']); 来导入它。
  • 从Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3) 开始,在特权代码(比如扩展中的代码)中,可以将一个 nsIFile 对象传入 File 构造函数,从而生成一个 File 对象。
  • 从Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5) 开始,在 XPCOM 组件代码中,你可以直接使用 new File 来创建一个 File 对象,而不需要像以前那样必须实例化一个 nsIDOMFile 对象。File 对象和 Blob 相反,使用第二个参数作为文件名。文件名可以是任意的字符串。
    new File( Array parts, String filename, BlobPropertyBag properties);
    
  • 下列非标准属性及方法在 Gecko 7 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4) 中就被移除了: File.fileNameFile.fileSizeFile.getAsBinary()File.getAsDataURL()File.getAsText(string encoding) (bug 661876)。应当使用 File.nameBlob.size,和 FileReader 的方法来代替。

参见

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:74 次

字数:8025

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文