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

时间:2016-06-08 19:29:34

标签: javascript node.js express upload multer

我对NodeJS和Web开发很新。我正在使用multer在我的Web应用程序中上传单个文件。这工作正常,文件上传到我的“上传”文件夹,我打算在我的数据库中保存此路径,以便我可以访问此文件。我遇到的问题是显示它(它是一个图像)。

文件保存如下: enter image description here

我不确定在我的数据库中保存哪条路径。它应该上传/ 2e3546b428931124164022e5d1d9310e吗?或者我是否需要延期。

该文件的JSON对象如下所示:

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

1 个答案:

答案 0 :(得分:0)

您需要在上传文件之前重命名该文件。 一个简单的方法是以下

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
})

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