/ / Multer - node.js, छवि, अपलोड, प्रदर्शन, मल्टर के साथ अपलोड की गई छवि प्रदर्शित करें

अपलोड की गई छवि को multer - node.js, छवि, अपलोड, डिस्प्ले, मल्टर के साथ प्रदर्शित करें

मैं नोडजेएस में नया हूं और मैं एक्सप्रेस, ईजेएस और एक प्रोजेट पर काम कर रहा हूं Multer (अपलोड करने के लिए मल्टीपार्ट / फॉर्म-डेटा को संभाल लें)तस्वीर (एकल >> प्रोफाइल तस्वीर)। मैं एक दृश्य में अपलोड की गई फ़ाइल (छवि) को प्रदर्शित करने की कोशिश कर रहा हूं सफलता के बिना। मेरे पास अपलोड की गई फ़ाइल (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="/images/<%= path %>" alt="Image name: <%= path %>"/>
</section>

क्या कोई मेरी मदद कर सकता है।

सादर, दोना

उत्तर:

उत्तर № 1 के लिए 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
});
});

सादर, दोना