我需要发送这样的数组:
[
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/