Skip to content

Instantly share code, notes, and snippets.

@hoc081098
Created July 20, 2018 11:26
Show Gist options
  • Select an option

  • Save hoc081098/5d92fcb1af06047ac8eb9aa1ebec76a2 to your computer and use it in GitHub Desktop.

Select an option

Save hoc081098/5d92fcb1af06047ac8eb9aa1ebec76a2 to your computer and use it in GitHub Desktop.

Revisions

  1. hoc081098 created this gist Jul 20, 2018.
    44 changes: 44 additions & 0 deletions index.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,44 @@
    const express = require('express');
    const multer = require('multer');
    const app = express();
    const router = express.Router();
    const path = require('path');

    const Storage = multer.diskStorage({
    destination: './public/images',
    filename: (req, file, cb) => {
    const fileName =
    file.originalname.split('.')[0] +
    '-' +
    Date.now() +
    path.extname(file.originalname);
    cb(null, fileName);
    }
    });

    const upload = multer({
    limits: 10 * 1024 * 1024,
    storage: Storage
    }).single('image');

    router.get('/', (req, res) => {
    res.end('GET');
    });

    router.post('/upload', (req, res) => {
    upload(req, res, err => {
    if (err) {
    return res.status(500).json({ message: err.message });
    }

    const p = req.file.path
    .split(path.sep)
    .slice(1)
    .join('/');
    res.status(200).json({ path: p });
    });
    });
    app.use(require('morgan')('combined'));
    app.use(express.static(__dirname + '/public'));
    app.use('/', router);
    app.listen(3000, () => console.log('Listening at port 3000'));