我有一个案例需要将图像存储在不同的目录中。所以我把闷热器设置为。
app.use(multer({
dest: path.join(__dirname, '`public/assets/img/profile`'),
rename: function (fieldname, filename, req, res) {
if(req.session.user) return req.session.user.id;
else if(req.session.doctor) return req.session.doctor.id;
}
}));
但是我需要更多目的地来存储图像。
public/assets/img/picture1
我见过类似的问题,但我无法理解其中任何一个问题。 任何帮助都会很棒。
答案 0 :(得分:1)
你的例子来自相当旧的multer版本。我强烈建议您使用最新版本(出于安全原因)。
如果您确定需要旧版本,那么只需添加到您的multer选项:
app.use(multer({
//...
changeDest: function(dest, req, res) {
return dest + '/user1';
}
//...
}));
您将在文档中获得更多详细信息(链接到旧版本)link
最新版本的multer有点不同。这将是一个大的offtopic,详细写如何使用新版本的multer。您可以在stackoverflow答案或文档的实际版本link
中轻松找到我只写了如何更改目标目录(例如来自docs):
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '/tmp/my-uploads')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
}
})
var upload = multer({ storage: storage })
app.post('/profile', upload.single('picture'), function (req, res, next) {
// req.file is the `picture` file
// req.body will hold the text fields, if there were any
})