【发布时间】:2021-10-30 09:44:22
【问题描述】:
我一直在尝试将 Cloudinary 数据响应中的 secure_urls 推送到 React 状态数组,但没有成功。当我将新图像添加到 dropzoneArea 时,以前的 url 会添加到数组中,因此会复制 url。 有谁知道如何解决这个问题?
状态
const [fileItems, setFileItems] = useState([]);
放置区
<DropzoneArea
acceptedFiles={["image/jpeg", "image/png", "image/bmp", "image/jpg"]}
onChange={handleFiles}
onDelete={handleDeleteFile}
showFileNames
filesLimit={5}
/>
const handleFiles = (files) => {
files.forEach((file) => {
const formData = new FormData();
formData.append("file", file);
formData.append("upload_preset", process.env.REACT_APP_UPLOAD_PRESET);
return Axios.post(
`https://api.cloudinary.com/v1_1/${process.env.REACT_APP_CLOUD_NAME}/upload`,
formData,
{
headers: { "X-Requested-With": "XMLHttpRequest" },
}
)
.then((res) => {
const fileUrls = res.data.secure_url;
setFileItems(fileItems=>[...fileItems,fileUrls])
})
.catch((err) => {
console.log(err.message);
});
});
};
【问题讨论】:
标签: reactjs axios cloudinary react-dropzone