LocalFileSystemSync

非标准: 该特性是非标准的,请尽量不要在生产环境中使用它!

文件系统 API 的 LocalFileSystemSync 接口允许你访问沙盒中的文件系统。它的目的是和 WebWorkers 一起使用。方法由 worker 对象实现。

关于这个文档

这个文档最后更新于 2012 年 3 月 2 日,并遵循 W3C 规范(工作草案),起草于 2011 年 4 月 19 日。

这个规范或多或少已经废弃,没有得到大量的关注。

基本概念

通过在 WebWorker 中请求 LocalFileSystemSync 对象,你可以请求访问沙盒文件系统。window 对象的全局方法 requestFileSystemSync() 和 resolveLocalFileSystemSyncURL() 暴露在 Worker 的全局域中。调用 window.requestFileSystemSync() 来为你的 Web 应用创建新的存储器。

更多概念请见 异步 API 的对应文章

示例

//Taking care of the browser-specific prefix
window.requestFileSystemSync  = window.requestFileSystemSync || window.webkitRequestFileSystemSync;

// The first parameter defines the type of storage: persistent or temporary
// Next, set the size of space needed (in bytes)
// initFs is the success callback
// And the last one is the error callback
// for denial of access and other errors.

var fs = requestFileSystemSync(TEMPORARY, 1024*1024 /*1MB*/);

由于你使用了同步 API,你并不需要成功或者错误回调。

方法概览

FileSystemSync requestFileSystemSync (in unsigned short type, in long long size) raises FileException;
EntrySync resolveLocalFileSystemSyncURL (in DOMString url) raises FileException;

常量

常量 描述
TEMPORARY 0

暂时的存储器,可由浏览器自主移除。

PERSISTENT 1 存在于浏览器的存储器,除非用户或者应用移除它。

方法

requestFileSystemSync()

请求一个文件系统,数据应该储存到这里。通过在 WebWorker 中使用这个全局方法(window.requestFileSystemSync())请求 LocalFileSystemSync 对象,来访问沙盒文件系统。 [ RESEARCH ]

FileSystemSync requestFileSystemSync(
  in unsigned short type,
  in unsigned long long size
);
参数
type
文件系统的储存类型。值为 TEMPORARY 或 PERSISTENT
size
存储器的空间—按字节—你需要将其用于你的应用。
返回值
FileSystemSync
表示文件系统的对象。
异常

这个方法可能产生 FileException ,带有下面的错误代码:

异常 描述
SECURITY_ERROR 应用没有权限来访问文件系统接口。例如,你不能执行 file:// 。更多细节请见 基本概念的文章

resolveLocalFileSystemSyncURL()

允许用户来检索文件或者目录的 Entry ,由本地 URL 引用。

void resolveLocalFileSystemURL(
  in DOMString url
);
参数
url
文件系统中的本地文件的 URL。
返回值
EntrySync
表示文件系统中条目的对象。
异常

这个方法可能产生 FileException ,带有下列错误代码:

异常 描述
ENCODING_ERR URL 语法错误。
NOT_FOUND_ERR URL 结构正确,但是指向了不存在的资源。
SECURITY_ERR 应用没有权限来访问文件系统接口。

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 13webkit (en-US) 未实现 未实现 未实现 未实现
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 未实现 0.16webkit (en-US) 未实现 未实现 未实现 未实现

另见

规范:File API: Directories and System SpecificationWD

参考:文件系统 API

简介: 文件系统 API 的基本概念