javascript - 如何使用 REST API 将我的 csv 文件作为表单数据传递
问题描述
我很难将上传的 CSV 文件编码为表单数据,这是我想出的想法,以便能够使用我的 API 的 post 方法在后端传递要处理的实际文件。但不幸的是,我收到错误“TypeError:无法构造'FormData':参数1不是'HTMLFormElement'类型。” . 我是编程新手,希望你能理解。谢谢!
这是我所做的一些片段:
uploadProducts包含我上传的 csv 文件。
upload() {
let data = new FormData(self.uploadedProducts);
axios.post(`${api}/mc/upload/specifications`, {
data,
headers: {
'Content-Type': 'multipart/form-data'
}
})
.then((result) => {
let responseData = result.data
alert("Uploaded successfully!")
})
.catch((error) => {
self.showErrorMessage(error.message);
})
}
解决方案
var formData = new FormData(form)
form
必须是 HTML 元素。请阅读FormData()。根据您的错误,我猜您self.uploadedProducts
不是表单元素。
另一种方法是使用append
方法。请阅读FormData.append()。
所以你的代码应该是这样的:
upload() {
let data = new FormData();
data.append('fieldName', self.uploadedProducts);
...
// you can omit multipart/form-data header
axios.post(`${api}/mc/upload/specifications`, data)
...
}
推荐阅读
- python - 在压缩以从 numpy 数组生成格式化列表时,获取“numpy.float64”对象不能被解释为整数
- python - Scikit-learn PolynomialFeatures 背后的公式是什么?
- reactjs - React.js:如何根据 API 调用正确排序?
- javascript - 如何上下移动窗口其父窗口?
- amazon-web-services - AWS SDK JavaScript - 我们计算的请求签名与您提供的签名不匹配
- laravel - 如何将多维数组插入数据库?
- python-3.x - 如何将 1D np 数组重塑为 3D?
- bash - 使用 awk 重新格式化文本文件并将其剪切为单行
- python - 在 Pandas 中拆分日期列
- java - 如何在一个类中使用另一个类的方法?