0
我在嘗試從Samsung讀取File寬度FileReader時遇到問題。與其他設備,它工作正常。使用FileReader從Samsung讀取文件
這是讀者服務的腳本:
function readFileAsync(file) {
var p = $q.defer();
var reader = new FileReader();
reader.onload = function(event) {
console.log('[FileReader] Success in read ' + JSON.stringify(event));
//var byteFile = new Int8Array(event.target.result);
//p.resolve(byteFile);
p.resolve(event.target.result);
};
reader.onabort = function(reason) {
console.log('[FileReader] abort ' + JSON.stringify(reason));
p.reject(reason);
reader.abort();
}
reader.onerror = function(err) {
console.log('[FileReader] ' + JSON.stringify(err));
p.reject(err);
};
// for ios
var localFileURL = file.fullPath.indexOf('file:/') == 0 ? file.fullPath : 'file://' + file.fullPath;
window.resolveLocalFileSystemURL(localFileURL, function (fileEntry) {
fileEntry.file(function (validFile) {
reader.readAsArrayBuffer(validFile);
});
});
return p.promise;
}
這是論據 「文件」:
{
"name": "20161201_134758.mp4",
"localURL": "cdvfile://localhost/sdcard/DCIM/Camera/20161201_134758.mp4",
"type": "video/mp4",
"lastModified": null,
"lastModifiedDate": 1480610881000,
"size": 5464040,
"start": 0,
"end": 0,
"fullPath": "file:/storage/emulated/0/DCIM/Camera/20161201_134758.mp4"
}
這裏是在 '的onerror' 事件outouts錯誤:
{
"type": "error",
"bubbles": false,
"cancelBubble": false,
"cancelable": false,
"lengthComputable": false,
"loaded": 0,
"total": 0,
"target": {
"_readyState": 2,
"_error": {
"code": 1
},
"_result": null,
"_progress": 0,
"_localURL": "cdvfile://localhost/sdcard/DCIM/Camera/20161201_134758.mp4",
"_realReader": {}
}
}
我堅持這個,所以任何建議都會有所幫助。 感謝