多部分/表单数据 nodejs Apollo-graphql

时间:2021-05-28 09:23:51

标签: node.js multipartform-data apollo

在我的项目中,我尝试使用 Apollo-REST-datasources 将 pdf 文件上传到特定 API。 有问题的 Api 具有以下 curl 命令来上传文件:

curl https://api.lexoffice.io/v1/vouchers/123456/files
-X POST
-H "Authorization: Bearer {accessToken}"
-H "Content-Type: multipart/form-data"
-H "Accept: application/json"
-F "file=@{PathToImage}"

到目前为止,我已经在互联网上广泛搜索了这个问题的答案,但这是我的请求,我相信这是文档所说的:


class LexOfficeApi2 extends RESTDataSource {
  constructor() {
    super();
    this.baseURL = "https://api.lexoffice.io/v1/"
  }
  willSendRequest(request) {
    request.headers.append("Content-Type", 'multipart/form-data');
    request.headers.append("Accept", "application/json");
    request.headers.append("Authorization", `Bearer ${LEXOFFICE}`);

  }
  async uploadInvoice() {
    const formData = new FormData()
    formData.append("file", fs.createReadStream('document.pdf'), 'document.pdf');
    return await this.post(`/vouchers/123456/files`, formData)
  }
} 

我尝试上传位于服务器主根文件夹中的“document.pdf”。但是,每次我发送请求时,它都会失败,指出“文件为空”。

我做错了什么?

0 个答案:

没有答案
相关问题