Apply for Zend Framework Certification Training

NodeJs




< First Getting Started With CodeIgniter URL Routing >



Create an api to upload image using node express

Step -1 add some code in index.js

Authorize an public folder or any folder to store image and retrive image 

const path = require('path')
const publicDirectory = path.join(__dirname,'./public')
app.use(express.static(publicDirectory));

Full code will be 

const express = require('express')
const path = require('path')
const app = express();
const port = 8080;
app.use(express.json())
app.get('/',(request,response)=>{
    response.send(`Server has been strated by Rajesh at ${port}`)
})
const publicDirectory = path.join(__dirname,'./public')
app.use(express.static(publicDirectory));
app.use('/users',require('./routes/usersroute'))
app.listen(port,()=>{
    console.log(`Server is started at ${port}`)
})

Step 3 Add some code in  controller 
  Go to termnal ,close the server session 
  npm i multer 
Add some code in userscontroller.js

const storage = multer.diskStorage({
    destination:(req,file,cb)=>{
        cb(null,'./public')
    },filename:(req,file,cb)=>{
        cb(null,file.originalname);
    }
})
exports.uploadImage = multer({storage:storage}).single('image')
exports.updateprofileimage = async (request,response)=>{
    let users_id = request.params.id
    imageData = {image:request.file.path}
    await users.findByIdAndUpdate(users_id,imageData).then(()=>{
        response.send(JSON.stringify({'message':'Image uploaded'}))   
    }).catch((error)=>{
        response.send(JSON.stringify({'message':error.message}))
    })
}

Step -4 Create a new path for profileupdate  in userroutes.js

router.put('/updateprofileimage/:id',userscontroller.uploadImage,userscontroller.updateprofileimage)

 

< First Getting Started With CodeIgniter URL Routing >



Ask a question



  • Question:
    {{questionlistdata.blog_question_description}}
    • Answer:
      {{answer.blog_answer_description  }}
    Replay to Question


Back to Top