【问题标题】:How to POST image as form data using npm request?如何使用 npm 请求将图像作为表单数据发布?
【发布时间】:2017-04-12 17:40:18
【问题描述】:

我有一个特定的任务:我需要从源 URL 下载图像并通过 POST 请求将其作为 multipart/form-data 上传到另一个主机。我正在尝试使用 node.js 请求库,但从未成功。 以下代码不会在请求正文中发送任何内容。

request.post({
  url: uploadUrl, 
  formData: {
    photo: request(imageUri)
  }
}, function (err) {
  if (err) console.error(err.stack)
});

我尝试过直接通过表单数据库发帖,但似乎也不起作用。在不创建临时文件的情况下如何解决这个问题?

【问题讨论】:

  • 您需要等到有图像数据才能在表单数据中发送。一旦您从request(imageUri) 获得了可从其回调参数中获得的照片,您就可以继续主帖了。
  • @magreenberg 我虽然可以通过管道传输它?您是否建议将其完全下载到内存中然后发布?

标签: node.js multipartform-data form-data node-request


【解决方案1】:

问题原来是我的imageUri 里面有查询参数。我认为这是form-data 库中的一个错误。删除查询参数解决了这个问题。

【讨论】:

    【解决方案2】:

    正如我在评论中所说,您需要等到拥有图片后才能发出发布请求。如果你想管道流,你可以尝试这样的事情......

    request.get(imageUri).pipe(request.post(uploadUri));
    

    希望对您有所帮助。

    【讨论】:

    • 谢谢,但我必须将图像作为表单数据发布
    • 那你得先本地保存。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    相关资源
    最近更新 更多