diff options
| author | Jon Jenkins <jondjenkins@gmail.com> | 2014-04-06 08:42:25 -0600 |
|---|---|---|
| committer | Jon Jenkins <jondjenkins@gmail.com> | 2014-04-06 08:44:31 -0600 |
| commit | 1cb1dade78823c790813a0f2e40237b22da12a23 (patch) | |
| tree | 310cdcde997c421d73414efd4875baeb89b40c0f /server.js | |
| parent | 555680e9eaac75de3660464075a40e8294e1a8f2 (diff) | |
| download | express-upload-1cb1dade78823c790813a0f2e40237b22da12a23.tar.gz express-upload-1cb1dade78823c790813a0f2e40237b22da12a23.tar.bz2 express-upload-1cb1dade78823c790813a0f2e40237b22da12a23.zip | |
added easyimage for thumbnails
Diffstat (limited to 'server.js')
| -rw-r--r-- | server.js | 38 |
1 files changed, 34 insertions, 4 deletions
@@ -1,6 +1,20 @@ -var express = require('express'); -var app = express(); -var multer = require('multer'); +var express = require('express'), + app = express(), + multer = require('multer'), + img = require('easyimage'); + +var imgs = ['png', 'jpg', 'jpeg', 'gif', 'bmp']; // only make thumbnail for these + +function getExtension(fn) { + return fn.split('.').pop(); +} + +function fnAppend(fn, insert) { + var arr = fn.split('.'); + var ext = arr.pop(); + insert = (insert !== undefined) ? insert : new Date().getTime(); + return arr + '.' + insert + '.' + ext; +} app.configure(function () { app.use(multer({ @@ -13,7 +27,23 @@ app.configure(function () { }); app.post('/api/upload', function (req, res) { - res.send({file: req.files.userFile.originalname, savedAs: req.files.userFile.name}); + if (imgs.indexOf(getExtension(req.files.userFile.name)) != -1) + img.info(req.files.userFile.path, function (err, stdout, stderr) { + if (err) throw err; +// console.log(stdout); // could determine if resize needed here + img.rescrop( + { + src: req.files.userFile.path, dst: fnAppend(req.files.userFile.path, 'thumb'), + width: 50, height: 50 + }, + function (err, image) { + if (err) throw err; + res.send({image: true, file: req.files.userFile.originalname, savedAs: req.files.userFile.name, thumb: fnAppend(req.files.userFile.name, 'thumb')}); + } + ); + }); + else + res.send({image: false, file: req.files.userFile.originalname, savedAs: req.files.userFile.name}); }); var server = app.listen(3000, function () { |
