2017-04-06 101 views
0

我需要的圖像發佈到外部服務。Node.js的文件上傳不工作

如果我使用像Postman客戶端手動測試上傳它完美。

我只需要製作一個POST並提供一個帶有圖像的form-data和一個密鑰PicturePOST request with Postman

但是,如果我從我的節點的應用程序發佈這是行不通的。我使用的處理請求request模塊。

const formData = { Picture: fs.createReadStream('./path/to/image') } 

request.post({url: "http://example.com", formData: formData}, function(err, res, body) { 
    console.log(body) 
} 

日誌說{"Code":400,"Exception":"The file failed to upload.}因爲它是一個外部服務,我不能得到更多的錯誤信息。

我只需要複製我就與郵差請求。 你會怎麼做?我不關心爲這些請求使用哪個模塊。

+0

API的使用似乎罰款,我的猜測是有別的東西丟失。也許服務器正在檢查特定的標題,例如'User-Agent'或類似的?嘗試複製郵遞員請求,直到找到缺少的東西。 – mscdex

回答

0

當發送文件考慮使用流爲後採取行動,例如:

const options = { 
    method: 'POST', 
    url: "www.someurl.com" 
}; 
const req = request(options, callback); 
const form = req.form(); 
form.append('image', fs.createReadStream(file_path)); 

難道你要發送的文件讀取操作完成之前?