#javascript #reactjs #axios
Вопрос:
Как я могу обновить свое изображение с URL-адреса s3. Мне нужно заменить существующее изображение в моих данных. В настоящее время я получаю Необработанный отказ (ошибка типа), который не может прочитать свойство » 0 » неопределенного. Это из части imgFile.file[0].
async function putImageToAws(url, imgFile) {
let headers = {
'Content-Type': imgFile.fileType
}
return await axios.patch(url, imgFile.file[0], {headers})
}
async function updateData(name,id,imgFile,handleClear) {
const data = {
name: name,
description:'none',
id:id
}
let urlRes = await getAwsUrl();
let imgRes = await putImageToAws(urlRes.data.urls[0].url, imgFile);
if(imgRes.status === 200) {
data['image'] = urlRes.data.urls[0].Key;
}
axios.patch(`admin/category?id=${editId}`.then((res) =>
{
console.log(res,'result of update');
getAllCategories();
}).catch((err)=> {
console.log(err,'error from update');
}))
}
это из компонента редактирования, где я разрушил расширение s3 img и набрал
const handleImage = (event) => {
const extension = event.target.files[0].type.split('/');
setAwsImageFile({file: event.target.files, extension: extension[1], fileType: event.target.files[0].type});
readURI(event);
}
const handleImageDelete = () => {
setImageURI("");
setAwsImageFile({});
}
function handleClear() {
setFoodName("");
setImageURI("");
setAwsImageFile({});
}
function setUpdateandClose() {
props.setTrigger(false);
updateFood(foodName, awsImageFile, handleClear);
}