繁体   English   中英

ReactJS Nodejs文件通过axios上传ftp

[英]Reactjs Nodejs file upload ftp via axios

我正在尝试使用React上的React Dropzone在FTP上上传文件,前端使用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正在运行。 客户端请求代码的唯一问题。

任何帮助!!!

您正在犯一个非常新手的错误,可能是因为您不了解多部分的工作方式。 为了使客户端代码正常工作,即将表单数据发送回后端,您需要:

  • 删除标题,然后让浏览器根据您的数据类型为您选择标题
  • 或使用'Content-Type': 'multipart/form-data' ,为其添加边界

多部分边界看起来像这样,

 'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryABCDEFGHIJKLMNOPQRSTUVWXYZ'

只需执行以下操作即可为您解决问题,因为浏览器将处理所需的标题。

axios.post('your-server-url', data).then(....)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM