Я изменил функцию fileUpload
, чтобы обновить переменную состояния statusCode
с помощью response.status
из ответа сервера.
fileUpload = async file => {
const formData = new FormData();
formData.append("file", file);
try {
axios.post("/file/upload/enpoint").then(response => {
console.log(response);
console.log(response.status);
this.setState({ statusCode: response.status }, () => {
console.log(
"This is the response status code --->",
this.state.statusCode
);
});
});
} catch (error) {
console.error(Error(`Error uploading file ${error.message}`));
}
};
Затем при рендеринге я проверил, чтобы statusCode
было либо200
или 500
, я изменю его, чтобы включить более подходящие коды состояния, но вы поняли.
{statusCode && statusCode === 200 ? (
<Progress
style={{ marginTop: "20px" }}
percent={100}
success
progress
>
File Upload Success
</Progress>
) : statusCode && statusCode === 500 ? (
<Progress
style={{ marginTop: "20px" }}
percent={100}
error
active
progress
>
File Upload Failed
</Progress>
) : null}
Обновленные коды и поле можно найти здесь для тех, кто хочетвзглянуть.