您好我正在使用JS HTML5文件API处理文件上传到我的服务器。
我在Aurora中遇到以下错误(Fire Fox Bleeding edge builds)
NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMFileReader.readAsBinaryString]
function readBlob(opt_startByte, opt_stopByte,file,partNo) {
var start = parseInt(opt_startByte);
var stop = parseInt(opt_stopByte);
var reader = new FileReader();
var totalParts = parseInt(file.size/MAX_READ);
if((file.size % MAX_READ) !== 0){
totalParts++;
}
// If we use onloadend, we need to check the readyState.
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) {
//var contents = reader.result;
postFilePart(partNo,contents,totalParts,escape(file.name))// DONE == 2
}
};
if (file.webkitSlice) {
var blob = file.webkitSlice(start, stop);
} else if (file.mozSlice) {
var blob = file.mozSlice(start, stop);
}
reader.readAsBinaryString(blob);
}
错误发生在此行
reader.readAsBinaryString(blob);
我尝试过mozSlice和Slice
if (file.mozSlice) {
var blob = file.mozSlice(start, stop);
}
它给了我相同的结果。它可能不是使用HTML 5 API的最佳选择,因为这可能会导致其他浏览器出现问题。
是否有人有解决此特定错误的工作方法
答案 0 :(得分:0)
解决了由于调用方法错误导致读取器代码重新运行不正确的问题
https://bugzilla.mozilla.org/show_bug.cgi?id=725289
而是使用slice vs mozSlice