最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

在Multer变量中设置全局变量

IT培训 admin 7浏览 0评论

在Multer变量中设置全局变量

我正在使用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获取链接。

在Multer变量中设置全局变量

我正在使用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获取链接。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论