tl; dr Появятся инструменты разработки Chrome для обрезки данных файла из предварительного просмотра полезных данных.Переключение с BlobBuilder
на Blob
решает проблему, но при предварительном просмотре полезной нагрузки данные файла не отображаются;это будет выглядеть так же, как то, что вы опубликовали (очевидно, пусто).
Симптом, который вы описываете, обманчив.Я столкнулся с подобной проблемой (оказалось, что она была вызвана неправильной перегрузкой Content-Type
, но я отступил).
Когда моя проблема была решена, я заметил, что Инструменты разработки Chrome показывали простой ключ / значениеданные, но не данные файла.При загрузке большого файла я получаю что-то вроде этого:
------WebKitFormBoundaryHyzYwSEV4FAfvi02
Content-Disposition: form-data; name="uploadType"
media
------WebKitFormBoundaryHyzYwSEV4FAfvi02
Content-Disposition: form-data; name="fileupload"; filename="blob"
Content-Type: application/zip
------WebKitFormBoundaryHyzYwSEV4FAfvi02--
Обратите внимание, что «простые» данные uploadType=media
отображаются, а данные файла - нет.Единственный способ подтвердить, что файл был загружен правильно (кроме, в конечном итоге, получения кода успеха с сервера), - это просмотреть на вкладке «Сеть» в Chrome Development Tools заголовки запроса после завершения запроса .Он показал content-length: 1023235
, намного больше, чем предполагает предположительно пустая полезная нагрузка файла.