2017-08-19 69 views
-1

我的NodeJS服務器使用祕密表單將文件上傳到amazon。隨着中說,我希望通過提供一個密碼字段,以這種形式來增加額外的安全 - 問題是,當我這樣做,當我試圖通過req.body.pass未使用enctype ='multipart/form-data'獲取所有表單屬性

我的代碼進行訪問我的服務器沒有得到該屬性:

//Express NodeJS Server: 

app.use(bodyParser.json()); 

app.use(bodyParser.urlencoded({ 
    extended: true 
})); 

app.post('/upload', function(req, res, next) { 
    console.log(req.body.pass); //undefined, but why? when I remove enctype='multipart/form-data' it works 
}) 

//HTML 

<form action="/upload" method="post" enctype='multipart/form-data'> 
     <input type="file" name="name" value=""> 
     <input type="file" name="email" value=""> 
     <input type="file" name="age" value=""> 
     <br>Password: <input type = "password" name = "pass"><br> 

     <br><input type="submit" value="Submit"> 
</form> 

當我刪除了以下內容:

enctype='multipart/form-data' 

領域通工程..我究竟做錯了什麼?

回答

0

由於中間件名稱建議,它們只處理'application/json'和'application/x-www-form-urlencoded'形式。您將需要一個單獨的模塊來處理multipart/form-data表單,例如multer