Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Reactjs Nodejs文件通过axios上传ftp_Javascript_Node.js_Reactjs_Ftp_Axios - Fatal编程技术网

Javascript Reactjs Nodejs文件通过axios上传ftp

Javascript Reactjs Nodejs文件通过axios上传ftp,javascript,node.js,reactjs,ftp,axios,Javascript,Node.js,Reactjs,Ftp,Axios,我正在尝试使用ftp上的React Dropzone上传文件,前端是React JS+AXIOS,后端是Nodejs+connect multiparty。 问题是,当我使用AXIOS通过前端发送文件时,我无法在服务器上获得请求中的文件。 我使用react axios上传文件的代码是 let data = new FormData() data.append('file', file) var setting = { method: 'post', url: 'my-se

我正在尝试使用ftp上的React Dropzone上传文件,前端是React JS+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正在工作。只有客户端请求代码有问题


任何帮助

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

  • 删除标题并让浏览器根据您的数据类型为您选择标题
  • 或者在使用“内容类型”:“多部分/表单数据”时,向其添加边界
多部分边界看起来像这样

 'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryABCDEFGHIJKLMNOPQRSTUVWXYZ'
只需执行以下操作即可解决问题,因为浏览器将处理所需的标题

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