diff --git a/src/file.js b/src/file.js index 2fbd15dbdf..3f0aaabcf0 100644 --- a/src/file.js +++ b/src/file.js @@ -167,7 +167,7 @@ file.delete = function (path, callback) { } fs.unlink(path, function (err) { if (err) { - winston.error(err); + winston.warn(err); } callback(); }); diff --git a/src/user/uploads.js b/src/user/uploads.js index 95b342ad27..450fe96d66 100644 --- a/src/user/uploads.js +++ b/src/user/uploads.js @@ -3,6 +3,7 @@ var async = require('async'); var path = require('path'); var nconf = require('nconf'); +var winston = require('winston'); var db = require('../database'); var file = require('../file'); @@ -26,7 +27,14 @@ module.exports = function (User) { return next(new Error('[[error:no-privileges]]')); } - file.delete(path.join(nconf.get('upload_path'), uploadName), next); + winston.verbose('[user/deleteUpload] Deleting ' + uploadName); + async.parallel([ + async.apply(file.delete, path.join(nconf.get('upload_path'), uploadName)), + async.apply(file.delete, path.join(nconf.get('upload_path'), path.dirname(uploadName), path.basename(uploadName, path.extname(uploadName)) + '-resized' + path.extname(uploadName))), + ], function (err) { + // Only return err, not the parallel'd result set + next(err); + }); }, function (next) { db.sortedSetRemove('uid:' + uid + ':uploads', uploadName, next);