使用multer显示上传的图片

时间:2017-07-17 21:38:05

标签: node.js image upload display multer

我是NodeJS的新手,我正在研究使用express,ejs和Multer(处理multipart / form-data)的projet以上传图片(单个>>个人资料图片)。 我一直在尝试在视图中显示上传的文件(图像) 没有成功。 我有关于上传文件(req.file)的所有信息,但我无法做任何事情。

//route.js 
   app.post('/upload_picture', isLoggedIn, upload.single('file'), function(req, res, next){
        res.render('image', {
              path: req.file.path
        });
      });



//image.ejs
<section id="upload">
    <img class="uploaded-image" src="<%= path %>" alt="Image name: <%= path %>"/>
  </section>

请有人帮帮我。

祝你好运, 多纳

1 个答案:

答案 0 :(得分:1)

所以这是解决方案,它对我有用!

var storage        = multer.diskStorage({
  destination: function(req, file, cb){
    cb(null, path.join(__dirname, PICTURE_FOLDER));
  },
  filename: function(req, file, cb){
    var filename = Date.now();
    switch (file.mimetype) {
      case 'image/png':
      filename = filename + ".png";
      break;
      case 'image/jpeg':
      filename = filename + ".jpeg";
      break;
      default:
      break;
    }
    cb(null, filename);
  }
});
var upload       = multer({ storage: storage});

app.post('/upload_picture', isLoggedIn, upload.single('file'), function(req, res, next){
    res.render('image', {
      path: req.file.path
    });
});

祝你好运, 多纳