When I am uploading any image I am storing in the upload folder.So, how other can see that pic. I am using mongoose to store image path. I want some good explanation on it that how it works. This is my code
var express = require('express');
var router = express.Router();
var mongoose = require( 'mongoose' );
var app = require('../app');
var multer = require('multer')
var fs = require('fs');
var path = require('path');
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'public/uploads/')
},
filename: function (req, file, cb) {
cb(null, Date.now() + path.extname(file.originalname)) //Appending extension
}
})
var upload = multer({ storage: storage });
var cpUpload = upload.fields([{ name: 'event_logo', maxCount: 1 }, { name: 'event_image', maxCount: 20 }])
router.route('/events')
.post(cpUpload,function(req,res){
var eventForm = JSON.parse(req.body.event);
var event = new Event();
event.name = eventForm.name;
event.description = eventForm.description;
event.location = eventForm.location;
event.startdate = eventForm.startdate;
event.enddate = eventForm.enddate;
event.tagline = eventForm.tagline;
event.password = eventForm.password;
event.passRequired = eventForm.passRequired;
event.isAnonymous = eventForm.isAnonymous;
event.passcode = getEventPasscode();
event.uid = eventForm.user_id;
if(req.files.event_image){
var profile_pic = req.files.event_image;
for(var i=0;i<profile_pic.length;i++){
profile_pic[i].image_Id=i;
profile_pic[i].destination = "uploads/";
profile_pic[i].path = "uploads/"+profile_pic[i].filename;
}
event.sponsors_img = profile_pic;
}
if(req.files.event_logo){
var eventLogo = req.files.event_logo;
eventLogo.destination = "uploads/";
eventLogo.path = "uploads/"+eventLogo.filename;
event.event_logo = eventLogo;
}
event.save(function(err, event){
if(err){
return res.send(500, err);
}
return res.json(event);
});
})
via Ikshit Mathur
No comments:
Post a Comment