From 821d7235419eab88cc46b6bb9adf52c8993bff99 Mon Sep 17 00:00:00 2001 From: pichalite Date: Tue, 26 Apr 2016 23:22:19 +0000 Subject: [PATCH 1/2] fix image upload in post --- src/controllers/uploads.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/controllers/uploads.js b/src/controllers/uploads.js index 605bee07cf..26ed248fb5 100644 --- a/src/controllers/uploads.js +++ b/src/controllers/uploads.js @@ -6,6 +6,7 @@ var async = require('async'); var nconf = require('nconf'); var validator = require('validator'); var winston = require('winston'); +var mime = require('mime'); var meta = require('../meta'); var file = require('../file'); @@ -171,7 +172,12 @@ function uploadFile(uid, uploadedFile, callback) { } function saveFileToLocal(uploadedFile, callback) { - var filename = uploadedFile.name || 'upload'; + var extension = ''; + if(!path.extname(uploadedFile.name)) { + extension = '.' + mime.extension(uploadedFile.type); + } + + var filename = (uploadedFile.name || 'upload') + extension; filename = Date.now() + '-' + validator.escape(filename).substr(0, 255); file.saveFileToLocal(filename, 'files', uploadedFile.path, function(err, upload) { From f154853b3917e5a476b675362605196d62f03991 Mon Sep 17 00:00:00 2001 From: pichalite Date: Wed, 27 Apr 2016 14:46:03 +0000 Subject: [PATCH 2/2] add extension after filename trim --- src/controllers/uploads.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/controllers/uploads.js b/src/controllers/uploads.js index 26ed248fb5..5a8873239b 100644 --- a/src/controllers/uploads.js +++ b/src/controllers/uploads.js @@ -172,14 +172,14 @@ function uploadFile(uid, uploadedFile, callback) { } function saveFileToLocal(uploadedFile, callback) { - var extension = ''; - if(!path.extname(uploadedFile.name)) { + var extension = path.extname(uploadedFile.name); + if(!extension) { extension = '.' + mime.extension(uploadedFile.type); } - var filename = (uploadedFile.name || 'upload') + extension; + var filename = uploadedFile.name || 'upload'; - filename = Date.now() + '-' + validator.escape(filename).substr(0, 255); + filename = Date.now() + '-' + validator.escape(filename.replace(extension, '')).substr(0, 255) + extension; file.saveFileToLocal(filename, 'files', uploadedFile.path, function(err, upload) { if (err) { return callback(err);