Я работаю над решением проблемы пользователя с помощью функции загрузки на моем сайте. Мы используем FileReader.readAsArrayBuffer () (https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsArrayBuffer) для чтения их файла.
Код выглядит примерно так:
fileReader.onloadend = function(event) {
if (!event.target.result && !uploadCancelled) {
resetUploadRequestState();
logError('Error', {
code: FILE_READER_NULL_RESULT_ERROR,
message: 'File reader null result.',
file: file,
blockIndex: index,
domException: fileReader.error,
});
return;
}
// logic for no error
}
В этом случае пользователь поражает это FILE_READER_NULL_RESULT_ERROR для конкретного файла, и я не могу понять, почему. Эта функция загрузки успешно работает для тысяч других пользователей каждый день, и отлично работает для этого пользователя на файлах, отличных от конкретного (файл .rcs, если это имеет значение).
Я пытался воспроизвести их проблему, используя файл того же типа и размера и не может. Если бы они попробовали браузеры Chrome и Edge, результат был одинаковым в обоих случаях. Так как ошибка регистрируется, event.target.result
должно быть ложным, но в документах по MDN об этом не говорится как о возможном результате функции. Много гуглят тоже ничего не придумали.
Если кто-нибудь знает, почему в этом случае результат считывателя файлов может быть нулевым, я был бы очень признателен, если бы мне сказали, заранее спасибо.