FileReader无法在iOS 8上运行
FileReader not working on iOS 8
我无法让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不起作用"。
有没有办法解决这个问题,或者我做错了什么?
我在iPhone上的Safari也遇到了同样的问题(但iPhone的Chrome上没有这个问题!)。
如果添加错误事件处理程序:
reader.onerror = function (e) {
alert("error " + e.target.error.code + " 'n'niPhone iOS8 Permissions Error.");
}
您将得到错误代码4。根据HTMLGoodies-响应HTML5 FileReader事件
错误代码4=NOT_READABLE_ERR:无法读取该文件,因为自获取该文件以来权限发生了更改,可能是因为该文件被另一个程序锁定。
这是一个错误
应该在下一个版本中修复
相关文章:
- 无法在iOS模拟器上运行简单的基于KineticJs的Cordova/PhoneGap应用程序
- Meteor应用程序突然不再在iOS上运行
- 如何仅在设备基于 iOS 时运行 jQuery 代码
- 全屏API无法在Chrome/iOS上运行
- 在iOS应用程序的分析云代码上运行crypto-js的问题
- Cordova应用程序在安卓系统上运行,但线程似乎在ios上冻结了;“由于页面加载而重置插件”;
- Phonegap内部版本:应用程序无法在iOS上运行
- removeClass无法在iOS v2上运行
- 运行IOS自动化脚本时需要查找崩溃
- 从运行 JavaScript 中排除 iOS
- 流星运行ios --冗长
- 自动滚动到目标,iOS 中的 jQuery 运行得太远
- Sencha Touch应用程序在Android和iOS上运行良好,但在Windows 8.1上挂起
- 每次加载新页面时,在iOS webView中运行JS
- SimpleWeather.js位置更新无法在iOS设备上运行
- Phonegap简单javascript未运行(onClick问题?)-Android和iOS都有
- Parse.Cloud在iOS上运行缓慢
- FileReader无法在iOS 8上运行
- 使用webkit运行iOS应用程序时延迟选择
- 我的javascript代码在pc上运行,但没有;t在android或ios上运行