aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/filereadersync/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/api/filereadersync/index.html')
-rw-r--r--files/zh-cn/web/api/filereadersync/index.html239
1 files changed, 239 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/filereadersync/index.html b/files/zh-cn/web/api/filereadersync/index.html
new file mode 100644
index 0000000000..27b1561b79
--- /dev/null
+++ b/files/zh-cn/web/api/filereadersync/index.html
@@ -0,0 +1,239 @@
+---
+title: FileReaderSync
+slug: Web/API/FileReaderSync
+tags:
+ - API
+ - NeedsMarkupWork
+translation_of: Web/API/FileReaderSync
+---
+<p>{{APIRef("File API")}}</p>
+
+<p><code>FileReaderSync</code>接口允许以同步的方式读取<code>File</code>或<code>Blob</code>对象中的内容。</p>
+
+<p>该接口只在<a href="/zh-cn/DOM/Worker" title="Worker">workers</a>里<a href="/zh-cn/DOM/Worker/Functions_available_to_workers" title="https://developer.mozilla.org/zh-cn/DOM/Worker/Functions_available_to_workers">可用</a>,因为在主线程里进行同步I/O操作可能会阻塞用户界面。</p>
+
+<h2 id="Method_overview" name="Method_overview">方法概述</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <td><code>ArrayBuffer <a href="https://developer.mozilla.org/en/DOM/FileReaderSync#readAsArrayBuffer()" title="en/DOM/FileReaderSync#readAsArrayBuffer()">readAsArrayBuffer</a>(Blob blob);</code>{{ gecko_minversion_inline("8.0") }}</td>
+ </tr>
+ <tr>
+ <td><code>DOMString <a href="/zh-cn/DOM/FileReaderSync#readAsBinaryString()" title="zh-cn/DOM/FileReaderSync#readAsBinaryString()">readAsBinaryString</a>(Blob blob);</code>{{ gecko_minversion_inline("8.0") }}</td>
+ </tr>
+ <tr>
+ <td><code>DOMString</code><code> </code><code><a href="/zh-cn/DOM/FileReaderSync#readAsText()" title="zh-cn/DOM/FileReaderSync#readAsText()">readAsText</a></code><code>(Blob blob, optional DOMString encoding);</code>{{ gecko_minversion_inline("8.0") }}</td>
+ </tr>
+ <tr>
+ <td><code>DOMString <a href="/zh-cn/DOM/FileReaderSync#readAsDataURL()" title="zh-cn/DOM/FileReaderSync#readAsDataURL()">readAsDataURL</a>(Blob blob);</code>{{ gecko_minversion_inline("8.0") }}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="属性">属性</h2>
+
+<p>该接口没有任何属性。</p>
+
+<h2 id="方法">方法</h2>
+
+<h3 id="readAsArrayBuffer()">readAsArrayBuffer()</h3>
+
+<p>该方法可以读取指定的 <code><a href="Blob" rel="custom">Blob</a></code> 或者 <code><a href="File" rel="custom">File</a></code>对象中的内容。当读取完毕后,返回一个 <code><a href="../JavaScript_typed_arrays/ArrayBuffer" rel="internal" title="/zh-cn/JavaScript_typed_arrays/ArrayBuffer">ArrayBuffer</a></code> 对象,里面包含了被读取文件的内容数据。如果在读取过程中发生了错误,则会抛出相关的异常。</p>
+
+<pre class="eval">ArrayBuffer readAsArrayBuffer(
+ in Blob blob
+);
+</pre>
+
+<h4 id="参数">参数</h4>
+
+<dl>
+ <dt><code>blob</code></dt>
+ <dd>将要被读取内容的<code><a href="Blob" rel="custom">Blob</a></code> 或 <code><a href="File" rel="custom">File</a></code> 对象.</dd>
+</dl>
+
+<h4 id="返回值">返回值</h4>
+
+<p>一个 <code><a href="../JavaScript_typed_arrays/ArrayBuffer" rel="internal" title="/zh-cn/JavaScript_typed_arrays/ArrayBuffer">ArrayBuffer</a></code> 对象,包含了被读取文件的内容.</p>
+
+<h4 id="异常">异常</h4>
+
+<p>该方法可能引发下述异常:</p>
+
+<dl>
+ <dt><code>NotFoundError</code></dt>
+ <dd>当<code><a href="Blob" rel="custom">Blob</a></code>或<code><a href="File" rel="custom">File</a></code>对象指代的资源无法找到时,触发该异常.比如,该资源已被删除的情况下.</dd>
+ <dt><code>SecurityError</code></dt>
+ <dd>当检测到下述几种问题情形时触发该异常:
+ <ul style="margin-left: 40px;">
+ <li>资源已被第三方修改;</li>
+ <li>同时在进行多个读取操作;</li>
+ <li>资源的安全级别过高,不允许浏览器进行操作(比如系统文件)。</li>
+ </ul>
+ </dd>
+ <dt><code>NotReadableError</code></dt>
+ <dd>当资源由于权限问题不能被读取时触发该异常。比如并发锁。</dd>
+ <dt><code>EncodingError</code></dt>
+ <dd>当资源是一个data URL,并且超过了浏览器的限制大小时触发该异常。</dd>
+</dl>
+
+<h3 id="readAsBinaryString()_deprecated_inline()">readAsBinaryString() {{ deprecated_inline() }}</h3>
+
+<p>该方法可以读取指定的 <code><a href="Blob" rel="custom">Blob</a></code> 或者 <code><a href="File" rel="custom">File</a></code>对象的内容。当读取完毕后,返回一个<a href="/zh-cn/DOM/DOMString" title="DOMString"><code>DOMString</code></a>对象,里面包含了被读取文件的二进制数据.如果在读取过程中发生了错误,则会抛出相关的异常。</p>
+
+<div class="note"><strong>注意</strong> <strong>:</strong>该方法已被废弃,应该使用<code>readAsArrayBuffer()</code>来替代.</div>
+
+<pre class="eval">String readAsBinaryString(
+ in Blob blob
+);
+</pre>
+
+<h4 id="参数_2">参数</h4>
+
+<dl>
+ <dt><code>blob</code></dt>
+ <dd>将要被读取内容的<code><a href="Blob" rel="custom">Blob</a></code> 或 <code><a href="File" rel="custom">File</a></code> 对象.</dd>
+</dl>
+
+<h4 id="返回值_2">返回值</h4>
+
+<p><code>一个</code><a href="/zh-cn/DOM/DOMString" title="DOMString"><code>DOMString</code></a>对象,包含了从资源中读取的二进制数据.</p>
+
+<h4 class="editable" id="异常_2">异常</h4>
+
+<p>该方法可能引发下述异常:</p>
+
+<dl>
+ <dt><code>NotFoundError</code></dt>
+ <dd>当<code><a href="Blob" rel="custom">Blob</a></code>或<code><a href="File" rel="custom">File</a></code>对象指代的资源无法找到时,触发该异常。比如,该资源已被删除的情况下。</dd>
+ <dt><code>SecurityError</code></dt>
+ <dd>当检测到下述几种问题情形时触发该异常:
+ <ul style="margin-left: 40px;">
+ <li>资源已被第三方修改;</li>
+ <li>同时在进行多个读取操作;</li>
+ <li>资源的安全级别过高,不允许浏览器进行操作(比如系统文件)。</li>
+ </ul>
+ </dd>
+ <dt><code>NotReadableError</code></dt>
+ <dd>当资源由于权限问题不能被读取时触发该异常(比如并发锁)。</dd>
+ <dt><code>EncodingError</code></dt>
+ <dd>当资源是一个data URL,并且超过了浏览器的限制大小时触发该异常。</dd>
+</dl>
+
+<h3 id="readAsText()">readAsText()</h3>
+
+<p>该方法可以读取指定的 <code><a href="Blob" rel="custom">Blob</a></code> 或者 <code><a href="File" rel="custom">File</a></code>对象的内容。当读取完毕后,返回一个<a href="/zh-cn/DOM/DOMString" title="DOMString"><code>DOMString</code></a>对象,里面包含了被读取文件的内容数据。可选参数 <strong><code>encoding</code></strong> 用来表示文件的编码类型,如果省略该参数,则该方法会使用一些算法自动检测文件的编码类型.如果在读取过程中发生了错误,则会抛出相关的异常。</p>
+
+<pre class="eval">String readAsText(
+ in Blob blob,
+ in DOMString encoding {{ optional_inline() }}
+);
+</pre>
+
+<h4 id="参数_3">参数</h4>
+
+<dl>
+ <dt><code>blob</code></dt>
+ <dd>将要被读取内容的<code><a href="Blob" rel="custom">Blob</a></code> 或 <code><a href="File" rel="custom">File</a></code> 对象。</dd>
+ <dt><code>encoding</code></dt>
+ <dd>可选参数,表示被读取文件的编码类型, 比如<strong>GBK</strong> 或者 <strong>UTF-8。</strong></dd>
+</dl>
+
+<h4 id="返回值_3">返回值</h4>
+
+<p>一个<a href="/zh-cn/DOM/DOMString" title="DOMString"><code>DOMString</code></a>对象,包含了被读取文件的内容。</p>
+
+<h4 class="editable" id="异常_3">异常</h4>
+
+<p>该方法可能引发下述异常:</p>
+
+<dl>
+ <dt><code>NotFoundError</code></dt>
+ <dd>当<code><a href="Blob" rel="custom">Blob</a></code>或<code><a href="File" rel="custom">File</a></code>对象指代的资源无法找到时,触发该异常。比如,该资源已被删除的情况下。</dd>
+ <dt><code>SecurityError</code></dt>
+ <dd>当检测到下述几种问题情形时触发该异常:
+ <ul style="margin-left: 40px;">
+ <li>资源已被第三方修改;</li>
+ <li>同时在进行多个读取操作;</li>
+ <li>资源的安全级别过高,不允许浏览器进行操作。(比如系统文件)。</li>
+ </ul>
+ </dd>
+ <dt><code>NotReadableError</code></dt>
+ <dd>当资源由于权限问题不能被读取时触发该异常(比如并发锁)。</dd>
+</dl>
+
+<h3 class="editable" id="readAsDataURL()"><span>readAsDataURL()</span></h3>
+
+<p>该方法可以读取指定的 <code><a href="Blob" rel="custom">Blob</a></code> 或者 <code><a href="File" rel="custom">File</a></code>对象的内容。当读取完毕后,返回一个Data URL格式的<a href="/zh-cn/DOM/DOMString" title="DOMString"><code>DOMString</code></a>对象,里面包含了被读取文件的内容数据。如果在读取过程中发生了错误,则会抛出相关的异常。</p>
+
+<pre class="eval">String readAsDataURL(
+ in Blob file
+);
+</pre>
+
+<div id="section_5">
+<h4 class="editable" id="参数_4"><span>参数</span></h4>
+
+<dl>
+ <dt><code>blob</code></dt>
+ <dd>将要被读取内容的<code><a href="Blob" rel="custom">Blob</a></code> 或 <code><a href="File" rel="custom">File</a></code> 对象。</dd>
+</dl>
+</div>
+
+<div id="section_6">
+<h4 class="editable" id="返回值_4"><span>返回值</span></h4>
+
+<p><code>一个</code><a href="/zh-cn/DOM/DOMString" title="DOMString"><code>DOMString</code></a>对象,data URL格式,包含了被读取文件的内容。</p>
+</div>
+
+<h4 class="editable" id="异常_4">异常</h4>
+
+<p>该方法可能引发下述异常:</p>
+
+<dl>
+ <dt><code>NotFoundError</code></dt>
+ <dd>当<code><a href="Blob" rel="custom">Blob</a></code>或<code><a href="File" rel="custom">File</a></code>对象指代的资源无法找到时,触发该异常。比如,该资源已被删除的情况下。</dd>
+ <dt><code>SecurityError</code></dt>
+ <dd>当检测到下述几种问题情形时触发该异常:
+ <ul style="margin-left: 40px;">
+ <li>资源已被第三方修改;</li>
+ <li>同时在进行多个读取操作;</li>
+ <li>资源的安全级别过高,不允许浏览器进行操作(比如系统文件)。</li>
+ </ul>
+ </dd>
+ <dt><code>NotReadableError</code></dt>
+ <dd>当资源由于权限问题不能被读取时触发该异常(比如并发锁)。</dd>
+ <dt><code>EncodingError</code></dt>
+ <dd>当资源是一个data URL,并且超过了浏览器的限制大小时触发该异常。</dd>
+</dl>
+
+<h2 id="Specifications">Specifications</h2>
+
+<p> </p>
+
+<table>
+ <tbody>
+ <tr>
+ <th scope="col"><strong>Specification</strong></th>
+ <th scope="col"><strong>Status</strong></th>
+ <th scope="col"><strong>Comment</strong></th>
+ </tr>
+ <tr>
+ <th scope="col">{{SpecName('File API','#FileReaderSync','FileReaderSync')}}</th>
+ <th scope="col">{{Spec2('File API')}}</th>
+ <th scope="col">Initial definition.</th>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<p>{{Compat("api.FileReaderSync")}}</p>
+
+<h2 id="相关链接">相关链接</h2>
+
+<ul>
+ <li>{{ spec("http://www.w3.org/TR/FileAPI/#FileReaderSync", "File API Specification: FileReaderSync", "WD") }}</li>
+ <li>Related interfaces: {{ domxref("FileReader") }}, {{ domxref("BlobBuilder") }}, {{ domxref("File") }}, {{ domxref("Blob") }}</li>
+</ul>