从本地文件夹上传和显示文件

Uploading and displaying files from local folder

总的来说,我对 NodeJS 和 Web 开发还很陌生。我正在使用 multer 在我的 Web 应用程序中上传单个文件。这工作正常,文件被上传到我的 "uploads" 文件夹中,我计划将此路径保存在我的数据库中,以便我可以访问此文件。我遇到的问题是显示它(它是一个图像)。

文件保存如下:

我不确定在我的数据库中保存哪个路径。应该是uploads/2e3546b428931124164022e5d1d9310e?或者我需要扩展吗?

文件的 JSON 对象如下所示:

{ fieldname: 'mapImage',
  originalname: 'office-wallpaper-2.png',
  encoding: '7bit',
  mimetype: 'image/png',
  destination: 'uploads/',
  filename: '2e3546b428931124164022e5d1d9310e',
  path: 'uploads/2e3546b428931124164022e5d1d9310e',
  size: 736807 }

您需要在上传前重命名您的文件。 一种简单的方法如下

var storage = multer.diskStorage({
    destination: './public/uploads/',
    filename: function(req, file, cb) {
        crypto.pseudoRandomBytes(16, function(err, raw) {
            if (err) return cb(err);

            cb(null, raw.toString('hex') + path.extname(file.originalname));
        })
    }
})

var upload = multer({
    storage: storage
})

然后将文件名保存到您的数据库中