上传图像后,我有一个对Cloudinary的API调用,它返回一个承诺,而不是一个字符串。我想把上传图像上的URL保存到我的数据库中。
以下是返回屏幕截图:
这是我的Axios代码:
export const uploadImage = imageUpload => async dispatch => {
try {
const formData = new FormData();
formData.append('file', imageUpload);
const res = await axios.post(
'https://api.cloudinary.com/v1_1/frank/image/upload',
formData
);
return res.data.secure_url;
} catch (err) {
const errors = err.response.data.error;
}
};
我也尝试使用.then()
,但是变量返回undefined
。
发布于 2020-03-05 14:39:30
好的,所以我把我的战利品通过我的重击
dispatch({
type: UPLOAD_SUCCESS,
payload: res.data.secure_url
});
然后,在我的组件上,我使用useEffect钩子来设置formData。我还用useState钩子做我的道具
const [formData, setFormData] = useState({photo: '', imgURL: ''});
如果调度被触发
useEffect(() => {
setFormData({ ...formData, photo: image });
}, [image]);
现在我的照片被设置为字符串。谢谢你分享你的想法。这很有帮助。
https://stackoverflow.com/questions/60527154
复制相似问题