我试图在ftp上使用React Dropzone上传文件,前端是Reactjs + AXIOS,后端是Nodejs + connect-multiparty。 问题是当我使用AXIOS通过前端发送文件时,我没有在请求中获取服务器上的文件。 我使用react-axios上传文件的代码是
let data = new FormData()
data.append('file', file)
var setting = {
method: 'post',
url: 'my-server-url',
data:data,
headers: {
'Content-Type': 'multipart/form-data'
},
}
var response = axios(setting).then(response => { return response.data })
.catch(response => response = {
success: 500,
message: "Your submission could not be completed. Please Try Again!",
data: ""
});
使用邮递员时,一切正常。服务器端api正在工作。客户端请求代码唯一的问题。
任何帮助!!!
答案 0 :(得分:0)
这可能是因为你不理解multipart的工作方式,这是你犯的一个非常新的错误。要使您的客户端代码正常工作,即将表单数据发送回后端,您需要:
'Content-Type': 'multipart/form-data'
时,为其添加边界多部分边界看起来像这样,
'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryABCDEFGHIJKLMNOPQRSTUVWXYZ'
只需执行以下操作即可解决问题,因为浏览器会处理所需的标题。
axios.post('your-server-url', data).then(....)