Thursday, 25 May 2017

I am using node js

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