簡體   English   中英

在Multer變量中設置全局變量

[英]Set Global Variable In Multer Variable

我正在使用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);
    }

然后,在“保存到數據庫”中間件中,您可以在req.link上獲得鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM