我正在使用multer上传图像,我正在生成一个链接以保存到数据库中但是为了做到这一点,我首先将文件保存到服务器。 "链接"是文件的名称及其扩展名,但我无法围绕如何为" link"设置全局变量。稍后保存在数据库中或者运行一个函数?
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);
正如您所看到的,我正在尝试设置"链接"但这显然不会奏效。有没有办法使这项工作?或者我应该研究什么?
答案 0 :(得分:1)
您可以保存链接req
并在保存到数据库时访问该链接。下面是一个例子:
在您的文件名功能中:
filename: function(req, file, callback) {
var fileType = file.originalname;
link = shortid.generate() + "." + fileType;
req.link = link; //add this line
callback(null, link);
}
然后在你的"保存到db" middlware你可以在req.link获得链接。