Node.js Multer:如何在req.body参数后命名文件
我正试图上传一个带有如下表单的文件Node.js Multer:如何在req.body参数后命名文件,node.js,express,multer,Node.js,Express,Multer,我正试图上传一个带有如下表单的文件 <input type="file" name="collateral" /> <input type="hidden" name="id" value="ABCDEFG" /> <input type="submit" value="Upload Image" name="submit"> 我想将文件重命名为id输入中的名称(ABCDEFG)。由于我无法通过rename:函数(fieldname,filename)访
<input type="file" name="collateral" />
<input type="hidden" name="id" value="ABCDEFG" />
<input type="submit" value="Upload Image" name="submit">
我想将文件重命名为id输入中的名称(ABCDEFG)。由于我无法通过rename:函数(fieldname,filename)访问req.body,我想知道如何实现这一点?尝试将文件放在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 });
文档中还指出,此函数中不允许访问req.body,因此您知道如何实现这一点吗?