![](/img/trans.png)
[英]NodeJS Request how to send multipart/form-data POST request
[英]How to send multipart/form-data PUT request in NodeJs?
我需要發送這樣的數組:
[
a: 'b',
file: {file content}
]
我試圖使用帶有formData選項的請求模塊來做到這一點:
request.put({
url: 'http://example.com/upload',
formData: {
a: 'b',
file: fs.createReadStream(__dirname + '/for-test.jpg')
}
});
在此示例中,PUT數據將為空,似乎formData選項被忽略了。
您需要使用body
屬性,並且需要對對象進行字符串化。
request({
method: 'PUT',
url: 'http://example.com/upload',
body: JSON.stringify({
a: 'b',
file: fs.createReadStream(__dirname + '/for-test.jpg')
})
});
我嘗試了您的代碼,並遇到了同樣的問題。 經過一番挖掘,我意識到您正在使用一個未發布的功能。
如果您在當前npm軟件包中搜索字符串'formData',則該字符串不存在。 如果您在github上克隆最新版本,並進行搜索,則會出現字符串“ formData”(我使用grep
,btw進行了搜索), 甚至對此進行了測試 。
如果您想使用此功能預發行版,則只需將package.json連接起來,指向存儲庫即可:
{
...
"dependencies": {
...
"request":"git+https://github.com/request/request.git#master",
...
}
}
全新的npm安裝將為您提供來自github的最新功能。 完成之后,一切對我來說都是固定的。
應該會拖延您,直到功能發布:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.