2016-11-28 58 views
4

我有一個特定的任務:我需要從源URL下載圖像,並通過POST請求將其上傳到另一個主機作爲multipart/form-data。我試圖使用node.js請求庫,但從來沒有成功。 以下代碼不會在請求正文中發送任何內容。如何使用npm請求將圖像作爲表單數據進行POST?

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

我試過直接通過表單數據庫,但它似乎並不工作。如何在不創建臨時文件的情況下解決此問題?

+0

你需要等待,直到你有圖像數據發送表單數據。一旦你從'request(imageUri)'中得到了來自它的回調參數的照片,你就可以繼續處理主帖。 – magreenberg

+0

@magreenberg我雖然可以以某種方式管它嗎?你打算把它完全下載到內存中,然後發佈? – Bolein95

回答

0

問題原來是我的imageUri有查詢參數。我認爲這是一個在form-data庫中的bug。刪除查詢參數解決了這個問題。

0

正如我在我的評論中所說的,您需要等到您有圖片發出發佈請求。如果你想管流,你可以嘗試這樣的事情...

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

希望有所幫助。

+0

謝謝,但我必須發佈圖像作爲表格數據 – Bolein95

+0

然後,你將不得不在本地保存第一。 – magreenberg

相關問題