Search
 
SCRIPT & CODE EXAMPLE
 

JAVASCRIPT

multer

<form action="/profile" method="post" enctype="multipart/form-data">
  <input type="file" name="avatar" />
</form>

-----Configer Multer -------
const multer = require("multer");
const path = require("path")
const storage = multer.diskStorage({
    destination(req, file, cb) {
        cb(null, 'public/uploads')
    },
    filename(req, file, cb) {
        console.log(path.extname, file.originalname)

        cb(null, `${file.fieldname}-${Date.now()}-${Math.round(Math.random()*1E9)}${path.extname(file.originalname)}`)
    }
})

const checkFileType = (file, cb) => {
    const fileType = /jpg|jpeg|png/
    const extname = fileType.test(path.extname(file.originalname).toLowerCase())
    const mimetype = fileType.test(file.mimetype)

    if (extname && mimetype) {
        return cb(null, true)
    } else {
        cb(new Error("Only Image Support!"), false)
    }
}

const upload = multer({
    storage,
    limits: {
        fileSize: 5e+6
    },
    fileFilter(req,file,cb){
        checkFileType(file,cb)
    }

})

app.post('/', upload.single('fild-name'), (req, res) => {
  res.send(`/${req.file.path}`)
})

//OR => For Error Handling
app.post('/', (req, res,next) => {
   upload(req, res, async (err) => {
        if (err) {
            return next(new Error("Server Error"))
        }
        const filePath = req.file.path
        console.log(req.body)
        let { error } = productSchema.validate(req.body)
        if (error) {
            fs.unlink(root + "/" + filePath, (err) => {
                if (err) {
                    return next(new Error("Server Error"))
                }
            })
            return next(error)
        }

        let { name, price, size, image } = req.body
        let document
        try {
            document = await ProductModel.create({
                name,
                price,
                size,
                image: filePath
            })
        } catch (err) {
            return next(err)
        }

        res.status(201).json(document)

        res.send({})
    })
})
Comment

multer

<form action="/profile" method="post" enctype="multipart/form-data">
  <input type="file" name="avatar" />
</form>
Comment

multer()

var multer = require('multer');
var upload = multer({dest:'uploads/'});
Comment

multer

var express = require('express')var app = express()var multer  = require('multer')var upload = multer() app.post('/profile', upload.none(), function (req, res, next) {  // req.body contains the text fields})
Comment

multer

var express = require('express')var multer  = require('multer')var upload = multer({ dest: 'uploads/' }) var app = express() app.post('/profile', upload.single('avatar'), function (req, res, next) {  // req.file is the `avatar` file  // req.body will hold the text fields, if there were any}) app.post('/photos/upload', upload.array('photos', 12), function (req, res, next) {  // req.files is array of `photos` files  // req.body will contain the text fields, if there were any}) var cpUpload = upload.fields([{ name: 'avatar', maxCount: 1 }, { name: 'gallery', maxCount: 8 }])app.post('/cool-profile', cpUpload, function (req, res, next) {  // req.files is an object (String -> Array) where fieldname is the key, and the value is array of files  //  // e.g.  //  req.files['avatar'][0] -> File  //  req.files['gallery'] -> Array  //  // req.body will contain the text fields, if there were any})
Comment

PREVIOUS NEXT
Code Example
Javascript :: Filtering an array for unique values 
Javascript :: check if string contains url 
Javascript :: JavaScript HTML DOM Events 
Javascript :: usesearchparams react router 
Javascript :: fuzzy search javascript 
Javascript :: first element of array js 
Javascript :: javascript run function 
Javascript :: turn string into number javascript 
Javascript :: how to get country code in react native 
Javascript :: .remove javascript 
Javascript :: reach last array js 
Javascript :: how to map over arrays vuejs 
Javascript :: return statement in javascript 
Javascript :: example of callback function in javascript 
Javascript :: codewars js Shortest Word 
Javascript :: scarping js 
Javascript :: lottie npm 
Javascript :: use state in className 
Javascript :: julia function 
Javascript :: break loop after time javascript 
Javascript :: use node js as backend with angular frontend 
Javascript :: select all checkbox in angular 
Javascript :: ajax stand for 
Javascript :: how to get font size in javascript 
Javascript :: javascript get last emlement array 
Javascript :: js loop array back 
Javascript :: is js dead 
Javascript :: js multi section listbox 
Javascript :: setup neovim vscode jj hotkey 
Python :: pip3 upgrade 
ADD CONTENT
Topic
Content
Source link
Name
2+8 =