【问题标题】:curl succeed but Javascript fetch failedcurl 成功但 Javascript 获取失败
【发布时间】:2021-12-08 03:49:51
【问题描述】:

我的 JS 获取代码是这样的:

var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("Authorization", "Bearer asdfasdfasdfasdfasdf");
myHeaders.append("Content-Type", "multipart/form-data");

var formdata = new FormData();
formdata.append("images", fileInput.files[0], "_265_.pdf");
formdata.append("cards", fileInput.files[0], "_180_.pdf");
formdata.append("organization", "org");

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: formdata,
  redirect: 'follow'
};

fetch("https://site/route?match_cut=0.64&Img_cut=0.45&card_cut=0.45&Img_card_cut=0.45&card_img_cut=0.45", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

每次我向我的服务器 Fastapi 发出这个请求时,我得到的响应总是{detail: 'There was an error parsing the body'} 不过,我可以使用以下curl 命令成功调用我的服务器:

curl -X 'POST' \
  'https://site/route?match_cut=0.64&Img_cut=0.45&card_cut=0.45&Img_card_cut=0.45&card_img_cut=0.45' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer asdfasdfasdfasdfasdf' \
  -H 'Content-Type: multipart/form-data' \
  -F 'images=@_265_.pdf;type=application/pdf' \
  -F 'reference=' \
  -F 'cards=@_180_.pdf;type=application/pdf' \
  -F 'organization=org'

我的获取请求中是否缺少某些内容?

【问题讨论】:

    标签: javascript curl fetch fastapi


    【解决方案1】:

    myHeaders.append("Content-Type", "multipart/form-data"); 行导致我的服务器无法解析请求,删除它使一切恢复正常。

    【讨论】:

      猜你喜欢
      • 2018-11-05
      • 1970-01-01
      • 2022-01-24
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-18
      • 2014-02-16
      相关资源
      最近更新 更多