3

我正在尝试使用如下形式上传文件

<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,我想知道如何实现这一点?

4

1 回答 1

1

尝试将文件放在 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 });
于 2016-10-05T22:44:47.910 回答