upload changes, show progres in composer

This commit is contained in:
Baris Soner Usakli
2014-02-13 19:41:54 -05:00
parent 99a212d141
commit 075c6c01f2
7 changed files with 369 additions and 255 deletions

View File

@@ -13,6 +13,7 @@ var fs = require('fs'),
meta = require('./../meta'),
plugins = require('./../plugins'),
image = require('./../image'),
file = require('./../file'),
db = require('./../database');
(function (User) {
@@ -134,6 +135,8 @@ var fs = require('fs'),
});
});
app.post('/uploadpicture', function (req, res) {
if (!req.user) {
return res.json(403, {
@@ -174,6 +177,7 @@ var fs = require('fs'),
}
], function(err, result) {
function done(err, image) {
fs.unlink(req.files.userPhoto.path);
if(err) {
return res.send({error: err.message});
}
@@ -190,12 +194,12 @@ var fs = require('fs'),
}
if(plugins.hasListeners('filter:uploadImage')) {
plugins.fireHook('filter:uploadImage', {file: req.files.userPhoto.path, name: filename}, done);
plugins.fireHook('filter:uploadImage', req.files.userPhoto, done);
} else {
user.getUserField(req.user.uid, 'uploadedpicture', function (err, oldpicture) {
if (!oldpicture) {
saveFileToLocal(filename, req.files.userPhoto.path, done);
file.saveFileToLocal(filename, req.files.userPhoto.path, done);
return;
}
@@ -206,7 +210,7 @@ var fs = require('fs'),
winston.err(err);
}
saveFileToLocal(filename, req.files.userPhoto.path, done);
file.saveFileToLocal(filename, req.files.userPhoto.path, done);
});
});
}
@@ -214,31 +218,6 @@ var fs = require('fs'),
});
});
function saveFileToLocal(filename, tempPath, callback) {
var uploadPath = path.join(nconf.get('base_dir'), nconf.get('upload_path'), filename);
winston.info('Saving file '+ filename +' to : ' + uploadPath);
var is = fs.createReadStream(tempPath);
var os = fs.createWriteStream(uploadPath);
is.on('end', function () {
fs.unlinkSync(tempPath);
callback(null, {url: nconf.get('upload_url') + filename});
});
os.on('error', function (err) {
fs.unlinkSync(tempPath);
winston.error(err.message);
});
is.pipe(os);
}
app.get('/api/user/:userslug/following', function (req, res, next) {
var callerUID = req.user ? req.user.uid : '0';