summaryrefslogtreecommitdiffstats
path: root/server.js
diff options
context:
space:
mode:
Diffstat (limited to 'server.js')
-rw-r--r--server.js38
1 files changed, 34 insertions, 4 deletions
diff --git a/server.js b/server.js
index 88abe05..51e2608 100644
--- a/server.js
+++ b/server.js
@@ -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 () {