尝试将数据从 API A 连同请求正文发送到 API B,API B 抛出错误,提示找不到请求正文

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

我必须将照片和视频上传到第三方 api,我正在尝试使用 axios 发送请求。

我的代码如下,

const file_media = await fs.createReadStream(fileName); //fileName is valid file_path/fileName.ext
const metadata = { fileName: file.fileName, fileExt: file.fileExt };  // I have to send this data to third party api in request body

const request_config = {
    headers: {
        "Authorization": admin_token_ccr,
        "Content-Type": "multipart/form-data",
    },
    data: {
        file: file_media,
        metadata: JSON.stringify(metadata),
    }
};

const response = await axios.post(process.env.CCR_LOGIN_URL + "/start/multipart", request_config.data, { headers: request_config.headers });

第三方API响应如下。

{
  error: true,
  errorCode: 4324,
  data: [
    {
      msg: 'File name is required',
      param: 'fileName',
      location: 'body'
    },
    { msg: 'File ext is required', param: 'fileExt', location: 'body' }
  ],
  message: 'Invalid Input'
}

我已经尝试了线程中提到的多种解决方案,但它们似乎都不起作用。

我正在使用 nodejs v14 和 express。

我尝试以多种方式发送数据,但无法准确发送 api 所期望的数据。

基本上这个端点(发送请求的地方)用于上传文件。

我必须按要求发送 2 样东西

  1. 文件(可以是任何类型[mp4、pdf、ppt、xlsx、csv、txt],大小不超过 5gb)
  2. Json 对象具有以下两个属性,A) fileName, B) fileExt
node.js axios multipartform-data multipart
© www.soinside.com 2019 - 2024. All rights reserved.