Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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 Node.js-使用Axios POST发送文件_Javascript_Node.js_Post_Axios - Fatal编程技术网

Javascript Node.js-使用Axios POST发送文件

Javascript Node.js-使用Axios POST发送文件,javascript,node.js,post,axios,Javascript,Node.js,Post,Axios,我正在尝试使用Node JS上的Axios库向网站发送PDF。如果我使用CURL,该站点提供了一个非常有效的示例: curl -F "file=@test.pdf" https://my.hiddenwebsite.com/upload 但是如果我尝试使用Axios复制HTTP请求,它会给我一个错误文件,\u而不是代码400。下面是我试图执行的代码 let form = new FormData(); let stream = fs.createReadStream

我正在尝试使用Node JS上的Axios库向网站发送PDF。如果我使用CURL,该站点提供了一个非常有效的示例:

curl -F "file=@test.pdf" https://my.hiddenwebsite.com/upload
但是如果我尝试使用Axios复制HTTP请求,它会给我一个错误文件,\u而不是代码400。下面是我试图执行的代码

  let form = new FormData();
  let stream = fs.createReadStream(path.join(__dirname, "test.pdf"));
  form.append("file", stream);

  let formHeaders = form.getHeaders();

  const request_config = {
    headers: {
      ...formHeaders,
    },
  };

  axios
    .post("https://my.hiddenwebsite.com/upload", form, request_config)
    .then((res) => {
      console.log(res.data);
    })
    .catch((err) => {
      console.log(err.response.data);
    });

如果有人能告诉我我做错了什么,那就太好了。

createReadStream
返回一个流,而不是一个文件。也许能更好地为您服务您的代码在测试服务器上对我有效。我想知道您的服务器是否需要特定的文件名?“它会期待“文件”以外的东西吗?”@AndreNuechter,我刚才试过了,但同样也不行error@TerryLennox我不是一个真正的CURL专家,我不经常使用它,但我认为“file=@text.pdf”意味着服务器需要一个文件名为“file”的文件。我错了吗?抱歉,@Sosnos,你是对的。这很奇怪。。我可以使用您的代码上传到运行Express/Multer的本地测试服务器。。。肯定还有其他问题…
createReadStream
返回的是流,而不是文件。也许能更好地为您服务您的代码在测试服务器上对我有效。我想知道您的服务器是否需要特定的文件名?“它会期待“文件”以外的东西吗?”@AndreNuechter,我刚才试过了,但同样也不行error@TerryLennox我不是一个真正的CURL专家,我不经常使用它,但我认为“file=@text.pdf”意味着服务器需要一个文件名为“file”的文件。我错了吗?抱歉,@Sosnos,你是对的。这很奇怪。。我可以使用您的代码上传到运行Express/Multer的本地测试服务器。。。一定是出了什么问题。。。