簡體   English   中英

如何在NodeJ中發送多部分/表單數據PUT請求?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM