blob: 799d89ee807bbbc8dd4298e82e511f65d6a12f5a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
|
---
title: LocalFileSystemSync
slug: Web/API/LocalFileSystemSync
translation_of: Web/API/LocalFileSystemSync
---
<div>{{APIRef("File System API")}}{{non-standard_header()}}</div>
<p><a href="/en/DOM/File_API/File_System_API" title="en/DOM/File_API/File_System_APIB">文件系统 API</a> 的 <code>LocalFileSystemSync</code> 接口允许你访问沙盒中的文件系统。它的目的是和 <a href="/en/DOM/Worker" title="en/DOM/Worker">WebWorkers</a> 一起使用。方法由 <a href="/en/DOM/Worker" title="En/DOM/Worker">worker</a> 对象实现。</p>
<h2 id="关于这个文档">关于这个文档</h2>
<p>这个文档最后更新于 2012 年 3 月 2 日,并遵循 <a class="external" href="http://www.w3.org/TR/file-system-api/">W3C 规范(工作草案)</a>,起草于 2011 年 4 月 19 日。</p>
<p>这个规范或多或少已经废弃,没有得到大量的关注。</p>
<h2 id="基本概念">基本概念</h2>
<p>通过在 WebWorker 中请求 <code>LocalFileSystemSync</code> 对象,你可以请求访问沙盒文件系统。<code>window</code> 对象的全局方法 <code>requestFileSystemSync()</code> 和 <code>resolveLocalFileSystemSyncURL()</code> 暴露在 Worker 的全局域中。调用 <code>window.requestFileSystemSync()</code> 来为你的 Web 应用创建新的存储器。</p>
<p>更多概念请见 <a href="/en/DOM/File_API/File_System_API/LocalFileSystem#Basic_concepts" title="https://developer.mozilla.org/en/DOM/File_API/File_System_API/LocalFileSystem#Basic_concepts">异步 API 的对应文章</a>。</p>
<h3 id="示例">示例</h3>
<pre class="brush: js">//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*/);</pre>
<p>由于你使用了同步 API,你并不需要成功或者错误回调。</p>
<h2 id="方法概览">方法概览</h2>
<table class="standard-table">
<tbody>
<tr>
<td><code>FileSystemSync <a href="#requestFileSystemSync" title="#requestFileSystemSync">requestFileSystemSync</a> (in unsigned short <em>type</em>, in long long <em>size</em>) raises <a href="/en/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_API/FileException">FileException</a>; </code></td>
</tr>
<tr>
<td><code>EntrySync <a href="#resolveLocalFileSystemSyncURL" title="resolveLocalFileSystemSyncURL">resolveLocalFileSystemSyncURL</a> (in DOMString <em>url</em>) raises <a href="/en/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_API/FileException">FileException</a>;</code></td>
</tr>
</tbody>
</table>
<h2 id="常量">常量</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">常量</th>
<th scope="col">值</th>
<th scope="col">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td><a name="const_temporary"><code>TEMPORARY</code></a></td>
<td><code>0</code></td>
<td>
<p>暂时的存储器,可由浏览器自主移除。</p>
</td>
</tr>
<tr>
<td><a name="const_persistent"><code>PERSISTENT</code></a></td>
<td><code>1</code></td>
<td>存在于浏览器的存储器,除非用户或者应用移除它。</td>
</tr>
</tbody>
</table>
<h2 id="方法">方法</h2>
<h3 id="requestFileSystem" name="requestFileSystem">requestFileSystemSync()</h3>
<p>请求一个文件系统,数据应该储存到这里。通过在 WebWorker 中使用这个全局方法(<code>window.requestFileSystemSync()</code>)请求 <code>LocalFileSystemSync</code> 对象,来访问沙盒文件系统。 [ RESEARCH ]</p>
<pre><code>FileSystemSync</code> requestFileSystemSync(
in unsigned short type,
in unsigned long long size
);</pre>
<h5 id="参数">参数</h5>
<dl>
<dt>type</dt>
<dd>文件系统的储存类型。值为 <code><a href="#const_temporary">TEMPORARY</a></code> 或 <code><a href="#const_persistent">PERSISTENT</a>。</code></dd>
<dt>size</dt>
<dd>存储器的空间—按字节—你需要将其用于你的应用。</dd>
</dl>
<h5 id="返回值">返回值</h5>
<dl>
<dt><code><a href="/en/DOM/File_API/File_System_API/FileSystemSync" title="en/DOM/File_API/File_System_API/FileSystemSync">FileSystemSync</a></code></dt>
<dd>表示文件系统的对象。</dd>
</dl>
<h5 id="异常">异常</h5>
<p>这个方法可能产生 <a href="/en/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_API/FileException">FileException</a> ,带有下面的错误代码:</p>
<table class="standard-table">
<thead>
<tr>
<th scope="col">异常</th>
<th scope="col">描述</th>
</tr>
<tr>
<td><code>SECURITY_ERROR</code></td>
<td>应用没有权限来访问文件系统接口。例如,你不能执行 <code>file://</code> 。更多细节请见 <a href="/en/DOM/File_APIs/Filesystem/Basic_Concepts_About_the_Filesystem_API#You_cannot_run_your_app_from_file:.2F.2F" title="https://developer.mozilla.org/en/DOM/File_APIs/Filesystem/Basic_Concepts_About_the_Filesystem_API#You_cannot_run_your_app_from_file:.2F.2F">基本概念的文章</a>。</td>
</tr>
</thead>
</table>
<h3 id="resolveLocalFileSystemSyncURL()" name="resolveLocalFileSystemSyncURL()">resolveLocalFileSystemSyncURL()</h3>
<p>允许用户来检索文件或者目录的 <code>Entry</code> ,由本地 URL 引用。</p>
<pre>void resolveLocalFileSystemURL(
in DOMString url
);</pre>
<h5 id="参数_2">参数</h5>
<dl>
<dt>url</dt>
<dd>文件系统中的本地文件的 URL。</dd>
</dl>
<h5 id="返回值_2">返回值</h5>
<dl>
<dt><code><a href="/en/DOM/File_API/File_System_API/EntrySync" title="en/DOM/File_API/File_System_API/EntrySync">EntrySync</a></code></dt>
<dd>表示文件系统中条目的对象。</dd>
</dl>
<h5 id="异常_2">异常</h5>
<p>这个方法可能产生 <a href="/en/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_API/FileException">FileException</a> ,带有下列错误代码:</p>
<table class="standard-table">
<thead>
<tr>
<th scope="col">异常</th>
<th scope="col">描述</th>
</tr>
<tr>
<td><code>ENCODING_ERR</code></td>
<td>URL 语法错误。</td>
</tr>
<tr>
<td><code>NOT_FOUND_ERR</code></td>
<td>URL 结构正确,但是指向了不存在的资源。</td>
</tr>
</thead>
<tbody>
<tr>
<td><code>SECURITY_ERR</code></td>
<td>应用没有权限来访问文件系统接口。</td>
</tr>
</tbody>
</table>
<h2 id="Browser_Compatibility" name="Browser_Compatibility">浏览器兼容性</h2>
<p>{{ CompatibilityTable() }}</p>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari (WebKit)</th>
</tr>
<tr>
<td>Basic support</td>
<td>13{{ property_prefix("webkit") }}</td>
<td>{{ CompatNo() }}</td>
<td>{{ CompatNo() }}</td>
<td>{{ CompatNo() }}</td>
<td>{{ CompatNo() }}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Android</th>
<th>Chrome for Android</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Phone</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>Basic support</td>
<td>{{ CompatNo() }}</td>
<td>0.16{{ property_prefix("webkit") }}</td>
<td>{{ CompatNo() }}</td>
<td>{{ CompatNo() }}</td>
<td>{{ CompatNo() }}</td>
<td>{{ CompatNo() }}</td>
</tr>
</tbody>
</table>
</div>
<h2 id="另见">另见</h2>
<p>规范:{{ spec("http://dev.w3.org/2009/dap/file-system/pub/FileSystem/", "File API: Directories and System Specification", "WD") }}</p>
<p>参考:<a href="/en/DOM/File_API/File_System_API" title="en/DOM/File_API/File_System_API">文件系统 API</a></p>
<p>简介: <a href="/en/DOM/File_APIs/Filesystem/Basic_Concepts_About_the_Filesystem_API" title="en/DOM/File_APIs/Filesystem/Basic_Concepts_About_the_Filesystem_API">文件系统 API 的基本概念</a>。</p>
|