您好我正在使用 JS HTML5 File 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 可能不是最好的主意,因为这也可能导致其他浏览器出现问题。
有没有人有办法获得相同的功能或者我如何解决这个特定的错误