我正在使用multer上传图像,我正在生成一个链接以保存到数据库中但是为了做到这一点,我首先将文件保存到服务器。 “链接”是文件的名称及其扩展名,但我无法绕过如何设置“链接”的全局变量以便稍后在数据库中保存或者运行函数?
var link;
var storeImageData = multer.diskStorage({
destination: function(req, file, callback) {
callback(null, './uploads');
},
filename: function(req, file, callback) {
var fileType = file.originalname;
link = shortid.generate() + "." + fileType;
callback(null, link);
}
});
console.log(link);
正如你所看到我试图设置“链接”但这显然不起作用。有没有办法使这项工作?或者我应该调查什么?
您可以保存链接req
并在保存到数据库时访问它。下面是一个例子:
在你的文件名功能:
filename: function(req, file, callback) {
var fileType = file.originalname;
link = shortid.generate() + "." + fileType;
req.link = link; //add this line
callback(null, link);
}
然后在“save to db”中间件中,您可以在req.link获取链接。