HTML 5 File API 0x80004003

87
12

Привет, я использую API-интерфейс JS HTML5 для обработки загрузки файлов на свой сервер.

Я получаю следующую ошибку в 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); }

и это дало мне те же результаты. возможно, не самая лучшая идея использовать API HTML 5, так как это может вызвать проблемы с другими браузерами.

есть ли у кого-нибудь работа, чтобы получить ту же функциональность или как я могу решить эту конкретную ошибку

спросил(а) 2021-01-19T19:04:25+03:00 2 месяца, 3 недели назад
1
Решение
97

Решив проблему, она переписывала код считывателя с неправильными параметрами из-за ошибки в вызывающем методе

https://bugzilla.mozilla.org/show_bug.cgi?id=725289

скорее используйте slice vs mozSlice

ответил(а) 2021-01-19T19:04:25+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема