将本地文件发送到 Node JS 中的 API

问题描述 投票:0回答:1

我正在尝试将本地文件发送到 API。代码中没有错误,但远程服务器上的文件已损坏。我究竟做错了什么?该文件存在于我的目录中。这是一个 82 kb 的 pdf 文件,但在远程服务器中它显示 149kb 文件并且无法读取。

    var data = new FormData();
    data.append('file', fs.createReadStream("test.pdf") );
    data.append('profile', 'xyz');
    data.append('filename', "test.pdf");
    let config = {
        method: 'post',
        maxBodyLength: Infinity,
        url: 'https://api.xyz.com/uploads',
        headers: { 
            'Authorization': `Bearer xyz`, 
            'Content-Type': `application/pdf`
        },
        data : data
      };
      axios.request(config)
      .then((response) => {
       // log(response)
        res.setHeader("Content-Type","application/json");
        res.status(200).send({"result":"success"}).end()
      }).catch((error) => {
        log(error);
        res.setHeader("Content-Type","application/json");
        res.status(200).send({"result":"fail"}).end()
      });

我也尝试过使用下面的标题,但没有成功。

'Content-Type': `multipart/form-data; boundary=${data._boundary}`
node.js express axios
1个回答
0
投票

我发现我没有添加需求。这解决了问题:

const FormData = require("form-data");
© www.soinside.com 2019 - 2024. All rights reserved.