reactjs - 如何使用 React.js 和 axios 将 POST 响应发送到另一个函数?
问题描述
我的fileUploadHandler
功能如下发布文件。帖子的响应如下所示:{ filename: '123sdfg.xlsx' }
fileUploadHandler = (fileData) => {
const formData1 = new FormData();
formData1.append("file", fileData)
postFileUpload(formData1).then((result) => console.log("response", result.data));
};
我尝试了下面的代码,但抛出了 storeFile 未定义的错误。
fileUploadHandler = (fileData) => {
const formData1 = new FormData();
formData1.append("file", fileData)
postFileUpload(formData1).then((result) => storeFile(result.data));
storeFile;
};
后调用函数如下所示:
export const postFileUpload = (values) => {
return new Promise((resolve, reject) => {
axios
.post('<URL>', values)
.then((result) => {
if (result) {
resolve(result);
}
})
.catch((error) => {
reject({ message: "Error:" + error.message });
});
});
}
我希望处理程序不仅要发布文件,还要获取响应,并将响应发送到另一个函数。如何将来自 fileUploadHandler 的响应返回到另一个函数,如 formSubmit(示例)。
解决方案
我想这可能是你正在寻找的。如果要使用 axios 发送文件,您可能还需要添加指定内容类型的标头。
const fileUploadHandler = fileData => {
const formData1 = new FormData()
formData1.append("file", fileData)
axios
.post("<URL>", formData, {
headers: {
"Content-Type": "multipart/form-data",
},
})
.then(result => {
if (result) {
postFileUpload(result)
}
})
.catch(error => {
// Handle any errors if the upload fails
console.log(error)
})
}
const postFileUpload = result => {
// This will be called after the file is uploaded.
console.log(result)
}
编辑:
const postFileUpload = formData => {
return axios.post("<URL>", formData, {
headers: {
"Content-Type": "multipart/form-data",
},
})
}
const fileUploadHandler = fileData => {
const formData1 = new FormData()
formData1.append("file", fileData)
postFileUpload(formData1)
.then(result => {
console.log("response", result.data)
})
.catch(error => {
// Handle any errors if the upload fails
console.log(error)
})
}
推荐阅读
- c++ - 在 C++ 中循环读取 QML 对象(CheckBox)属性:总是相同的值
- python - 如何合并两个数据帧,其中一个数据帧具有开始时间/结束时间,另一个数据帧具有时间戳数据
- xamarin - 如何更改 Xamarin 表单的 Styles.Xml 中的默认显示警报背景颜色
- sql - 更新总和组
- python - 通过发布请求django将图像发送到服务器
- yocto - Yocto部署文件夹中的符号链接有什么用
- wordpress - 使用多个 wp 主机时,AWS 上的 Wordpress 站点无法正确连接到数据库
- vue.js - 为什么我们需要 vuex 而不仅仅是简单的全局对象
- r - R编程中的特征函数
- python-3.x - 如何在文本文件中的特定位置附加字符串