FileReader.readAsArrayBuffer не устанавливает результат - PullRequest
0 голосов
/ 07 апреля 2020

Я работаю над решением проблемы пользователя с помощью функции загрузки на моем сайте. Мы используем 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 об этом не говорится как о возможном результате функции. Много гуглят тоже ничего не придумали.

Если кто-нибудь знает, почему в этом случае результат считывателя файлов может быть нулевым, я был бы очень признателен, если бы мне сказали, заранее спасибо.

...