LocalFileSystemSync - 可以用于同步访问沙盒文件系统

非标准
该功能是非标准的。请尽量不要在生产环境中使用它:因为每个用户不一定会正常运行。它的实现可能存在很大的不兼容性,并且将来可能会改变行为。

LocalFileSystemSync文件系统 API 的接口,可以用于访问沙盒文件系统。它旨在与 WebWorkers一起使用。这些方法由 worker 对象实现。

关于这份文档

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

该规范或多或少被放弃,未能获得显着的关注。

基本概念

您可以通过从 Web worker 中请求 LocalFileSystemSync 对象来请求访问沙盒文件系统。 window 对象的 LocalFileSystemSyncrequestFileSystemSync() 方法中的全局方法暴露给 Worker 的全局范围。调用resolveLocalFileSystemSyncURL()为您的 Web 应用程序创建新存储。

window 对象中,requestFileSystemSync()resolveLocalFileSystemSyncURL() 方法中的全局方法暴露给 Worker 的全局范围。调用 window.requestFileSystemSync() 可以为您的 Web 应用程序创建新存储。

The global methods in the window object requestFileSystemSync() and resolveLocalFileSystemSyncURL() methods are exposed to the Worker's global scope.

有关更多概念,请参阅对应的异步 API 文章

实例

// 处理特定于浏览器的前缀
window.requestFileSystemSync  = window.requestFileSystemSync || window.webkitRequestFileSystemSync;

// 第一个参数定义存储类型:持久性或临时性
// 接下来,设置所需空间的大小(以字节为单位)
var fs = requestFileSystemSync(TEMPORARY, 1024*1024 /*1MB*/);

因为您使用的是同步 API,所以不需要成功和错误回调。

方法预览

常量

常量 描述
TEMPORARY 0 可由浏览器自行决定删除的瞬态存储。
PERSISTENT 1 除非用户或应用程序将其清除,否则将保留在浏览器中的存储。在应用程序使用此类存储之前,用户必须授予权限。

方法

requestFileSystemSync()

请求应存储数据的文件系统。您可以通过使用此全局方法 window.requestFileSystemSync() 请求 LocalFileSystemSync 对象来访问沙盒文件系统。

FileSystemSync requestFileSystemSync(
  in unsigned short type, 
  in unsigned long long size  
);
参数

type

文件系统的存储类型。值可以是 TEMPORARYPERSISTENT

size

应用程序所需的存储空间(以字节为单位)。

返回

FileSystemSync

表示文件系统的对象。

异常

此方法可以使用以下代码引发 FileError

异常 描述
SECURITY_ERROR 应用程序无权访问文件系统接口。例如,您无法从 file:// 运行。有关更多详细信息,请参阅基本概念文章

resolveLocalFileSystemSyncURL()

允许用户查找本地 URL 引用的文件或目录的 Entry

void resolveLocalFileSystemURL(
  in DOMString url  
);
参数

url

文件系统中本地文件的 URL。

返回

EntrySync

表示文件系统中的条目的对象。

异常

此方法可以使用以下代码引发 FileError

异常 描述
ENCODING_ERR URL 的语法无效。
NOT_FOUND_ERR URL 在结构上是正确的,但是指的是不存在的资源。
SECURITY_ERR 应用程序无权访问文件系统接口。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持13 webkit 未知 不支持 不支持 不支持 不支持
requestFileSystemSync13 未知 不支持 不支持 不支持 不支持
resolveLocalFileSystemSyncURL13 未知 不支持 不支持 不支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 支持 webkit 支持 webkit 未知 不支持 未知 不支持 不支持
requestFileSystemSync 支持 支持 未知 不支持 未知 不支持 不支持
resolveLocalFileSystemSyncURL 支持 支持 未知 不支持 未知 不支持 不支持

相关链接

规范:文件 API:目录和系统规范WD

参考:文件系统 API

介绍:关于文件系统 API 的基本概念