#reactjs #axios
Вопрос:
У меня есть Axios
сообщение, написанное для загрузки одного файла в AWS S3
корзину, и этот код отлично работает, когда он развернут на сервере. Мой обратный вызов Axios onUploadProgress
управляет анимированной строкой состояния, но когда я запускаю ее http://localhost:3000
, она никогда не срабатывает. Загрузка файла работает, но обратный вызов никогда не вызывается.
Я не смог найти никакой полезной информации о том, почему это так, и мне пришлось убедить свою команду разрешить мне объединить код, поскольку я был на 99,999% связан с localhost. Это не связано с размером файла, так как я тестировал большие файлы и регулировал их в инструментах разработки Chrome.
Может ли кто-нибудь объяснить, почему обратный вызов Axios на локальном хосте не работает, и есть ли способ заставить его работать, поскольку моя следующая задача потребует много дискуссий и слияния для тестирования с каждым внесенным мной изменением?
axios.post(url, formData, {
cancelToken: cancelTokenSource.token,
onUploadProgress(event: ProgressEvent) {
if (!event.lengthComputable) {
return;
}
const percentUploaded = Math.round((event.loaded * 100) / event.total);
setDocuments(() => {
return [createUploadingDocument<Record<string, unknown>>({ id, name: droppedFile.name, percentUploaded })];
});
},
})