Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从本地文件夹上载和显示文件_Javascript_Node.js_Express_Upload_Multer - Fatal编程技术网

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

Javascript 从本地文件夹上载和显示文件,javascript,node.js,express,upload,multer,Javascript,Node.js,Express,Upload,Multer,一般来说,我对NodeJS和web开发非常陌生。我正在使用multer在我的web应用程序中上载单个文件。这很好,文件被上传到我的“uploads”文件夹中,我计划将此路径保存到我的数据库中,以便我可以访问此文件。我遇到的问题是显示它(它是一个图像) 文件保存如下: 我不确定要保存在数据库中的路径。是否应上传/2E3546B42893112416422E5D1D9310E?或者我需要一个扩展 文件的JSON对象如下所示: { fieldname: 'mapImage', originaln

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

文件保存如下:

我不确定要保存在数据库中的路径。是否应上传/2E3546B42893112416422E5D1D9310E?或者我需要一个扩展

文件的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
})

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

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

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
})
然后将文件名保存到数据库中