我正在努力使用axios将简单的媒体(mp3 / mp4)上传到服务器。 我有一个角度应用程序,它创建一个formData并将此formData通过以下方式发送到节点服务器:
return this.http.post(this.apiURL + '/uploadFile', formData);
我的服务器方法如下:
app.post('/api/uploadFile', upload.single('file'), (req, res) => {
inputFile = req.file;
let fd = new FormData();
fd.append('file',inputFile.buffer, inputFile.originalname);
axios.post(uploadFileURL , fd, { headers: { 'Content-Type': 'multipart/form-data' } })
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error)
})
})
inputFile包含原始文件。我现在得到的错误是该请求不是多部分请求...
我也尝试用不同的方式定义formData:
formData = {
file: {
value: inputFile.buffer,
options: {
filename: inputFile.originalname,
contentType: inputFile.mimetype
}
}
};
这给我带来了另一个错误:“无法解析多部分servlet请求;嵌套异常是java.io.IOException:org.apache.tomcat.util.http.fileupload.FileUploadException:由于未找到多部分边界,请求被拒绝'
我做错什么了吗? 我想知道这是否可以链接到我使用const bodyParser = require('body-parser');的事实。对于我的其他一些要求。 任何帮助将不胜感激!
谢谢
编辑: 这是我的需要以及到目前为止我所做的: