【问题标题】:multer: keep original image file namemulter:保留原始图像文件名
【发布时间】:2020-06-20 06:52:13
【问题描述】:

我正在使用multer 将图像上传到快速服务器,默认情况下 multer 创建自动生成/随机文件名(这通常很好),但在我的特殊情况下,我需要文件名与原始文件名相同,我尝试了以下方法:

const upload = multer({
  dest: `${__dirname}/path/to/folder`,
  filename: function (req, file, cb) { cb(null, file.originalname) }
})

但图像不断被重命名为 multer 的随机名称。我也试过destination 属性而不是dest ...但同样的问题。

【问题讨论】:

标签: javascript node.js express multer


【解决方案1】:

试试下面的代码。

var storage = multer.diskStorage({
    destination: function (req, file, callback) {
        callback(null, './assets/images');
    },
    filename: function (req, file, callback) {
        callback(null, file.originalname);
    }
});

var upload = multer({ storage: storage }).single('userPhoto');


app.post('/upload', async (req, res) => {
    upload(req, res, function (err) {
        if (err) {
            console.log(err)
        } else {
            var FileName = req.file.filename;
            res.status(200).send(FileName);
        }
    })
});

【讨论】:

    猜你喜欢
    • 2020-06-29
    • 1970-01-01
    • 2020-08-30
    • 2022-01-17
    • 2020-02-16
    • 1970-01-01
    • 2018-08-19
    • 2012-04-12
    • 2014-12-30
    相关资源
    最近更新 更多