2015-10-30 92 views
1

我有一個頁面,用戶上傳文件並傳遞給Node API,它執行一些操作,如數據庫插入,最後必須將文件發送到另一個節點rest API病毒檢查。快速Nodejs - 如何將request.files傳遞給另一個POST請求

我可以在第一次API調用中看到req.files中的文件內容和屬性,但正努力通過request.post努力將req.files傳遞到另一個節點API URL。

var uploadFile= function(req, res) { 
     var files = req.files.upload; 
Async.series(
     [ function (callback) {..}, 
      function (callback){viruscheck(files,callback);} 
.... 

//viruscheck method 
var viruscheck= function(files, callback) { 
request.post({url: "http://loclahost:1980/viruscheck/upload.json", 

       qs: { 
        .. 
       }, 
       headers: {'enctype-type': 'multipart/form-data'}, 
       form:{ 
        upload:files 
       } 
     },function(error, response, body){ 
      if(error) { 
       console.log(error); 
       callback(error) 
      } else { 
       console.log(response.statusCode, body); 
       callback() 
      } 
     }); 
} 

在API http://loclahost:1980/viruscheck/upload.json我看到身體,而不是req.files文件內容。

如何在第二次API調用中獲取request.files中的文件?

回答

1

用途:

headers: {'Content-Type': 'multipart/form-data'}, 

相反的:

headers: {'enctype-type': 'multipart/form-data'}, 

加密類型是HTML表單的事情。

看到這個答案更多: Uploading file using POST request in Node.js

+0

我一直在使用內容類型嘗試,但我仍然看到在機身文件的內容。這裏是關於viruscheck服務器體請求對象conetnts:{上傳[] ..} _body:真, 長度:未定義, 讀:[功能], 文件:{}, 路線: 路線{ 路徑:「 /upload(.:ext)', stack:[[Object]], methods:{post:true}}} – Sam

+0

您正在將var文件設置爲req.files.upload。這是什麼?緩衝區?它應該被設置爲req.files而不是? –

+0

是緩衝區。正如我建議我嘗試使用req.files,頭文件也設置'contet-type':'multipart/form-data',但我仍然看到請求正文中的文件而不是req.files。 – Sam

相關問題