
Các bước để tạo một API server bằng node js thì mình không làm nữa, chỉ bắt đầu bằng việc up ảnhBước 1: Tạo service upload ảnhconst multer = require('multer') // import libraryconst moment = require('moment')const q = require('q')const _ = require('underscore')var file = require('file-system');const fs = require('fs')const dir = './public'let sub = moment(moment.now()).format('YYYY-MM');/** Store file on local folder */let storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, 'public/' + sub) }, filename: function (req, file, cb) { let date = moment(moment.now()).format('YYYYMMDDHHMMSS') cb(null, date + '_' + file.originalname.replace(/-/g, '_').replace(/ /g, '_')) }})/** Upload files */let upload = multer({ storage: storage }).array('files')/** Exports fileUpload function */module.exports = { fileUpload: function (req, res) { let deferred = q.defer() /** Create dir if not exist */ if (!fs.existsSync(dir + "/" +sub)) { fs.mkdirSync(dir + "/" + sub) console.log(`\n\n ${dir} dose not exist, hence created \n\n`) } upload(req, res, function (err) { if (req && (_.isEmpty(req.files))) { deferred.resolve({ status: 200, message: 'File not attached', data: [] }) } else { if (err) { deferred.reject({ status: 400, message: 'error', data: err }) } else { deferred.resolve({ status: 200, message: 'File attached', filename: _.pluck(req.files, 'filename'), data: req.files }) } } }) return deferred.promise }}Bước...