菜鸟教程小白 发表于 2022-12-13 09:15:03

javascript - FileReader 无法在 iOS 8 上运行


                                            <p><p>我无法让 FileReader 在 iOS 8 中工作。以下演示说明了这一点(iOS 的 jsFiddle 链接 - <a href="http://jsfiddle.net/gys6rubg/1/" rel="noreferrer noopener nofollow">http://jsfiddle.net/gys6rubg/1/</a>):</p>

<p></p><div class="snippet"data-lang="js"data-hide="false">
<div class="snippet-code">
<pre class="snippet-code-js lang-js prettyprint-override"><code>var file = document.getElementById(&#39;file-input&#39;);
file.addEventListener(&#39;change&#39;, function(event) {
    var file = this.files;
   
    if(!file) {
      alert(&#39;No file&#39;);
      return;
    }
   
    var reader = new FileReader();
    var timeout = setTimeout(function() {
         alert(&#39;FileReader not functioning&#39;);   
    }, 500);
    reader.onload = function(event) {
      clearTimeout(timeout);
      alert(&#39;Base64 length - &#39; + event.target.result.length);
    };   
   
    reader.readAsDataURL(file);
});</code></pre>
<pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;form&gt;
    &lt;input id=&#34;file-input&#34; type=&#34;file&#34; /&gt;
&lt;/form&gt;</code></pre>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我在 iPhone 上使用 Safari 时遇到了同样的问题(但在 iPhone 版 Chrome 上不存在这个问题!)。</p>

<p>如果添加错误事件处理程序:</p>

<pre><code>reader.onerror = function (e) {
    alert(&#34;error &#34; + e.target.error.code + &#34; \n\niPhone iOS8 Permissions Error.&#34;);
}
</code></pre>

<p>您将收到错误代码 4。
根据 <a href="http://www.htmlgoodies.com/html5/other/responding-to-html5-filereader-events.html#fbid=l9ZUvxZTK1W" rel="noreferrer noopener nofollow">HTMLGoodies - Responding to HTML5 FileReader Events</a> </p>

<p>错误代码 4 = NOT_READABLE_ERR:由于在获取文件后权限发生更改,因此无法读取该文件 - 可能是因为该文件已被另一个程序锁定。</p></p>
                                   
                                                <p style="font-size: 20px;">关于javascript - FileReader 无法在 iOS 8 上运行,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25999083/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25999083/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: javascript - FileReader 无法在 iOS 8 上运行