无法使用Fetch TYPESCRIPT发布多部分/表单数据

路易斯·鲁阿诺

我正在尝试获取以下代码,即时消息开始使用提取,因此即时消息出现了一些问题

import fetch, { Headers, RequestInit } from "node-fetch";
import FormData = require("form-data");

const exampleFile = fs.createReadStream(path.join(__dirname, "../lib/dummy.pdf"));
  const myHeaders = new Headers();
  myHeaders.append("Content-Type", "multipart/form-data");

const form = new FormData();
  form.append("file", exampleFile);

const requestOptions: RequestInit = {
    method: "POST",
    headers: myHeaders,
    body: form,
    redirect: "follow"
  };

await fetch(`https://api.mercadolibre.com/messages/attachments?access_token=${accessToken}`, requestOptions)
    .then(response => response)
    .then(result => console.log(result))
    .catch(error => console.log("error", error));

但这会响应以下JSON(它应该只是MercadoLibre附件的ID):

Response {
  size: 0,
  timeout: 0,
  [Symbol(Body internals)]: {
    body: PassThrough {
      _readableState: [ReadableState],
      readable: true,
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      _writableState: [WritableState],
      writable: false,
      allowHalfOpen: true,
      _transformState: [Object],
      [Symbol(kCapture)]: false
    },
    disturbed: false,
    error: null
  },
  [Symbol(Response internals)]: {
    url: 'https://api.mercadolibre.com/messages/attachments?access_token=#######',
    status: 400,
    statusText: 'Bad Request',
    headers: Headers { [Symbol(map)]: [Object: null prototype] },
    counter: 0
  }
}

我的代码有什么问题?

路易斯·鲁阿诺

更新:我能够通过排除Content-Type属性来修复它,从而允许提取以自动检测并设置边界和内容类型。

新代码:

const exampleFile = fs.createReadStream(path.join(__dirname, "../lib/dummy.pdf"));

const form = new FormData();
form.append("file", exampleFile);

const requestOptions: RequestInit = {
    method: "POST",
    body: form
  };

await fetch(`https://api.mercadolibre.com/messages/attachments?access_token=${accessToken}`, requestOptions)
    .then(response => response.json())
    .then(result => console.log(result))
    .catch(error => console.log("error", error));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用多部分/表单数据发布Facebook照片

来自分类Dev

使用Apache Bench发布多部分/表单数据(ab)

来自分类Dev

如何使用多部分/表单数据发布Facebook照片

来自分类Dev

使用RestRserve的多部分/表单数据

来自分类Dev

发布多部分/表单数据时,React Native fetch 抛出错误

来自分类Dev

如何使用发布多部分/表单数据的请求来排列数据和文件的顺序?

来自分类Dev

在Axios vue.js中使用多部分/表单数据发布请求发送阵列数据

来自分类Dev

使用HttpClient从流中发布多部分/表单数据文件

来自分类Dev

使用request.post通过python发布多部分表单数据不起作用

来自分类Dev

使用HttpClient从流中发布多部分/表单数据文件

来自分类Dev

等同于curls --form的Python:使用“ form”参数中的数据创建多部分表单数据发布请求

来自分类Dev

如何使用Spring MockMvc输入多部分/表单数据?

来自分类Dev

如何使用ServiceStack处理多部分表单数据?

来自分类Dev

使用scala调度的多部分/表单数据

来自分类Dev

使用Objective-C POST多部分/表单数据

来自分类Dev

使用Alamofire和多部分/表单数据

来自分类Dev

无法在iOS中使用NSURLSession多部分表单数据上传文件

来自分类Dev

请求:发布多部分/表单数据

来自分类Dev

请求:发布多部分/表单数据

来自分类Dev

Node.js Express-methodOverride无法用于多部分/表单数据

来自分类Dev

HttpUrlConnection多部分表单数据返回错误422无法处理的实体

来自分类Dev

Node.js Express-methodOverride无法用于多部分/表单数据

来自分类Dev

如何使用抓取方式对多部分表单数据进行过帐?

来自分类Dev

如何使用PowerShell Invoke-RestMethod发送多部分/表单数据

来自分类Dev

如何使用翻新功能发送多部分/表单数据?

来自分类Dev

带有Graph API的Android Facebook视频上传-如何使用多部分/表单数据

来自分类常见问题

使用curl张贴多部分/表单数据的正确方法是什么?

来自分类Dev

使用Alamofire上传多部分表单数据时“ HTTP重定向过多”

来自分类Dev

使用WSO2 API管理器上传多部分表单数据文件?

Related 相关文章

  1. 1

    如何使用多部分/表单数据发布Facebook照片

  2. 2

    使用Apache Bench发布多部分/表单数据(ab)

  3. 3

    如何使用多部分/表单数据发布Facebook照片

  4. 4

    使用RestRserve的多部分/表单数据

  5. 5

    发布多部分/表单数据时,React Native fetch 抛出错误

  6. 6

    如何使用发布多部分/表单数据的请求来排列数据和文件的顺序?

  7. 7

    在Axios vue.js中使用多部分/表单数据发布请求发送阵列数据

  8. 8

    使用HttpClient从流中发布多部分/表单数据文件

  9. 9

    使用request.post通过python发布多部分表单数据不起作用

  10. 10

    使用HttpClient从流中发布多部分/表单数据文件

  11. 11

    等同于curls --form的Python:使用“ form”参数中的数据创建多部分表单数据发布请求

  12. 12

    如何使用Spring MockMvc输入多部分/表单数据?

  13. 13

    如何使用ServiceStack处理多部分表单数据?

  14. 14

    使用scala调度的多部分/表单数据

  15. 15

    使用Objective-C POST多部分/表单数据

  16. 16

    使用Alamofire和多部分/表单数据

  17. 17

    无法在iOS中使用NSURLSession多部分表单数据上传文件

  18. 18

    请求:发布多部分/表单数据

  19. 19

    请求:发布多部分/表单数据

  20. 20

    Node.js Express-methodOverride无法用于多部分/表单数据

  21. 21

    HttpUrlConnection多部分表单数据返回错误422无法处理的实体

  22. 22

    Node.js Express-methodOverride无法用于多部分/表单数据

  23. 23

    如何使用抓取方式对多部分表单数据进行过帐?

  24. 24

    如何使用PowerShell Invoke-RestMethod发送多部分/表单数据

  25. 25

    如何使用翻新功能发送多部分/表单数据?

  26. 26

    带有Graph API的Android Facebook视频上传-如何使用多部分/表单数据

  27. 27

    使用curl张贴多部分/表单数据的正确方法是什么?

  28. 28

    使用Alamofire上传多部分表单数据时“ HTTP重定向过多”

  29. 29

    使用WSO2 API管理器上传多部分表单数据文件?

热门标签

归档