2015-05-04 134 views
3

我想上传文件形式,如下面Multer:如何req.body参数

<input type="file" name="collateral" /> 
<input type="hidden" name="id" value="ABCDEFG" /> 
<input type="submit" value="Upload Image" name="submit"> 

,我想重命名为文件的名称在ID输入后文件名(ABCDEFG)。由于我无法通过rename:function(fieldname,filename)访问req.body,所以我想知道如何实现这一点?

+0

该文档还指出访问req.body在这个函数是不允许的,因此我们将实现如何任何想法? – Allen

回答

0

尝试将文件最后放入POST请求有效内容中。

那么你应该能够通过这个回调访问req.body

var multer = require('multer'); 

var storage = multer.diskStorage({ 
    destination: function (req, file, cb) { 
     cb(null, './public/uploads/') 
    }, 
    filename: function (req, file, cb) { 
     cb(null, file.fieldname + '-' + Date.now()) 
     // access req.body and rename file 
    } 
}); 

var upload = multer({ storage: storage });