2017-07-17 65 views
-1

我是NodeJS中的新成員,我正在使用express,ejs和Multer(處理multipart/form-data)來上傳圖片(單個>>個人資料圖片)。 我一直在嘗試在視圖 中顯示上傳的文件(圖片),但沒有成功。 我有關於上傳文件(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

因此,這裏的解決方案,它爲我工作!

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

最好的問候, 多納