node.js - 如何在 NodeJs 中发送多部分/表单数据 PUT 请求?

标签 node.js

我需要发送这样的数组:

[
  a: 'b',
  file: {file content}
]

我尝试使用request来做到这一点带有 formData 选项的模块:

request.put({
  url: 'http://example.com/upload',
  formData: {
    a: 'b',
    file: fs.createReadStream(__dirname + '/for-test.jpg')
  }
});

在此示例中,PUT 数据将为空,似乎 formData 选项被忽略。

最佳答案

我尝试了你的代码,也遇到了同样的问题。经过一番挖掘后,我意识到您正在使用未发布的功能。

如果在当前 npm 包中搜索字符串“formData”,它不存在。如果您在 github 上克隆最新版本并进行搜索,则会出现字符串“formData”(我使用 grep 进行了搜索,顺便说一句),并且有 even a test for it .

如果您想使用此功能预发布,您只需连接您的 package.json 以指向存储库即可:

{
  ...
  "dependencies": {
    ...
    "request":"git+https://github.com/request/request.git#master",
    ...
  }
} 

全新的 npm 安装将为您提供来自 github 的具有该功能的最新版本。完成此操作后,一切都为我解决了。

这应该会阻止你直到该功能发布:)

关于node.js - 如何在 NodeJs 中发送多部分/表单数据 PUT 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26632703/

相关文章:

javascript - 带有 websocket 接口(interface)的数据库?

Node.js 内存填满

node.js - Nodejs - 写入和保存文件

sql - CoffeeScript,寻找类似 SQL 的模块

node.js - MongoDB 查询在 $or 查询中具有多种变体,其中至少 x 条语句必须匹配

javascript - NodeJS 和 Javascript (requirejs) 依赖注入(inject)

javascript - 尝试在我的代码中使用 await with promise - 怎么做?

node.js - Node js mongoose MissingSchemaError : Schema hasn't been registered for model

angularjs - Angular $scope 数据不会更新

node.js - 下载并解压文件,然后检查内容,异步等待问题,node.js