gpt4 book ai didi

javascript - FileReader 不适用于 iOS 8

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:42:15 28 4
gpt4 key购买 nike

我无法让 FileReader 在 iOS 8 中工作。以下演示说明了这一点(iOS 的 jsFiddle 链接 - http://jsfiddle.net/gys6rubg/1/):

var file = document.getElementById('file-input');
file.addEventListener('change', function(event) {
var file = this.files[0];

if(!file) {
alert('No file');
return;
}

var reader = new FileReader();
var timeout = setTimeout(function() {
alert('FileReader not functioning');
}, 500);
reader.onload = function(event) {
clearTimeout(timeout);
alert('Base64 length - ' + event.target.result.length);
};

reader.readAsDataURL(file);
});
<form>
<input id="file-input" type="file" />
</form>

此 console.log 在大多数浏览器中是 Base64 字符串的长度,但在 iOS 8 Safari 上它是 console.log 的“FileReader not functioning”。

有什么办法解决这个问题,或者我做错了什么吗?

最佳答案

我在 iPhone 上使用 Safari 时遇到了同样的问题(但在 iPhone 版 Chrome 上不存在这个问题!)。

如果添加错误事件处理程序:

reader.onerror = function (e) {
alert("error " + e.target.error.code + " \n\niPhone iOS8 Permissions Error.");
}

您将收到错误代码 4。根据HTMLGoodies - Responding to HTML5 FileReader Events

错误代码 4 = NOT_READABLE_ERR:由于获取文件后权限发生更改,无法读取文件 - 可能是因为文件被另一个程序锁定。

关于javascript - FileReader 不适用于 iOS 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25999083/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com