Javascript 在node.js上使用表单数据和axios提交文件不';行不通

Javascript 在node.js上使用表单数据和axios提交文件不';行不通,javascript,node.js,axios,fs,form-data,Javascript,Node.js,Axios,Fs,Form Data,我必须将这个文件发送到一个API,并用它来测试请求。但是,尝试使用许多不同的方法在节点中复制相同的请求,仍然不起作用。我收到回复说文件有问题 这是curl请求 curl --location --request POST '<api url>' \ --header 'Authorization: Bearer <token>' \ --form 'File=@"C:/Users/aleni/Desktop/Bryce/Truckstop/truckstop_a

我必须将这个文件发送到一个API,并用它来测试请求。但是,尝试使用许多不同的方法在节点中复制相同的请求,仍然不起作用。我收到回复说文件有问题

这是curl请求

curl --location --request POST '<api url>' \
--header 'Authorization: Bearer <token>' \
--form 'File=@"C:/Users/aleni/Desktop/Bryce/Truckstop/truckstop_api/bulk_request_VAN.csv"' \
--form 'CalculatedRateFormula="1 Year Avg Rates"' \
--form 'TimeFrameFromDate="2020-06-01"' \
--form 'TimeFrameToDate="2021-05-03"'
以下是我尝试过的东西:

  • 使用文件路径而不是fs
  • 带或不带_dirname的请求
  • fs.readFile和fs.createReadStream
  • 将表单包装在axios请求内的括号中
  • 异步等待
  • 以及所有可能的战斗
你知道问题出在哪里吗?
谢谢

解决了它。需要将表单的标题添加到请求中

…form.getHeaders()

const form = new formData();
form.append("CalculatedRateFormula", "1 Year Avg Rates") // Only one available
form.append("UploadName", 'upload_name_' + mm + '_' + dd + '_' + yyyy)
console.log("Starting CSV load")
form.append("File", fs.createReadStream(__dirname + '/bulk_request_VAN.csv'))
form.append("TimeFrameFromDate", day_before_yyyy + '-' + day_before_mm + '-' + day_before_dd)
form.append("TimeFrameToDate", yesterday_yyyy + '-' + yesterday_mm + '-' + yesterday_dd)

axios.post(global_config.api_url,
  
    form
  ,
 {
    headers: {
      "Authorization": `Bearer ${token}`,
    }
  })
.then(response =>{
  console.log("Request Submitted")
  request_id = response.data.referenceID
  console.log(response.data)
  if(response.data.data){
    retrieveResults(request_id)
  }
})
.catch(function (error) {
  console.log(error);
});