Use typeToExtension from file.js

v1.18.x
pichalite 8 years ago
parent 8dab8864f6
commit 4d755bad0c

@ -43,7 +43,8 @@ uploadsController.uploadPost = function (req, res, next) {
var isImage = uploadedFile.type.match(/image./); var isImage = uploadedFile.type.match(/image./);
if (isImage) { if (isImage) {
uploadAsImage(req, uploadedFile, next); uploadAsImage(req, uploadedFile, next);
} else { }
else {
uploadAsFile(req, uploadedFile, next); uploadAsFile(req, uploadedFile, next);
} }
}, next); }, next);
@ -59,7 +60,10 @@ function uploadAsImage(req, uploadedFile, callback) {
return next(new Error('[[error:no-privileges]]')); return next(new Error('[[error:no-privileges]]'));
} }
if (plugins.hasListeners('filter:uploadImage')) { if (plugins.hasListeners('filter:uploadImage')) {
return plugins.fireHook('filter:uploadImage', {image: uploadedFile, uid: req.uid}, callback); return plugins.fireHook('filter:uploadImage', {
image: uploadedFile,
uid: req.uid
}, callback);
} }
file.isFileTypeAllowed(uploadedFile.path, next); file.isFileTypeAllowed(uploadedFile.path, next);
}, },
@ -156,7 +160,10 @@ uploadsController.uploadThumb = function (req, res, next) {
} }
if (plugins.hasListeners('filter:uploadImage')) { if (plugins.hasListeners('filter:uploadImage')) {
return plugins.fireHook('filter:uploadImage', {image: uploadedFile, uid: req.uid}, next); return plugins.fireHook('filter:uploadImage', {
image: uploadedFile,
uid: req.uid
}, next);
} }
uploadFile(req.uid, uploadedFile, next); uploadFile(req.uid, uploadedFile, next);
@ -167,11 +174,17 @@ uploadsController.uploadThumb = function (req, res, next) {
uploadsController.uploadGroupCover = function (uid, uploadedFile, callback) { uploadsController.uploadGroupCover = function (uid, uploadedFile, callback) {
if (plugins.hasListeners('filter:uploadImage')) { if (plugins.hasListeners('filter:uploadImage')) {
return plugins.fireHook('filter:uploadImage', {image: uploadedFile, uid: uid}, callback); return plugins.fireHook('filter:uploadImage', {
image: uploadedFile,
uid: uid
}, callback);
} }
if (plugins.hasListeners('filter:uploadFile')) { if (plugins.hasListeners('filter:uploadFile')) {
return plugins.fireHook('filter:uploadFile', {file: uploadedFile, uid: uid}, callback); return plugins.fireHook('filter:uploadFile', {
file: uploadedFile,
uid: uid
}, callback);
} }
file.isFileTypeAllowed(uploadedFile.path, function (err) { file.isFileTypeAllowed(uploadedFile.path, function (err) {
@ -184,7 +197,10 @@ uploadsController.uploadGroupCover = function (uid, uploadedFile, callback) {
function uploadFile(uid, uploadedFile, callback) { function uploadFile(uid, uploadedFile, callback) {
if (plugins.hasListeners('filter:uploadFile')) { if (plugins.hasListeners('filter:uploadFile')) {
return plugins.fireHook('filter:uploadFile', {file: uploadedFile, uid: uid}, callback); return plugins.fireHook('filter:uploadFile', {
file: uploadedFile,
uid: uid
}, callback);
} }
if (!uploadedFile) { if (!uploadedFile) {
@ -197,7 +213,7 @@ function uploadFile(uid, uploadedFile, callback) {
if (meta.config.hasOwnProperty('allowedFileExtensions')) { if (meta.config.hasOwnProperty('allowedFileExtensions')) {
var allowed = file.allowedExtensions(); var allowed = file.allowedExtensions();
var extension = typeToExtension(uploadedFile.type); var extension = file.typeToExtension(uploadedFile.type);
if (!extension || (allowed.length > 0 && allowed.indexOf(extension) === -1)) { if (!extension || (allowed.length > 0 && allowed.indexOf(extension) === -1)) {
return callback(new Error('[[error:invalid-file-type, ' + allowed.join(', ') + ']]')); return callback(new Error('[[error:invalid-file-type, ' + allowed.join(', ') + ']]'));
} }
@ -207,7 +223,7 @@ function uploadFile(uid, uploadedFile, callback) {
} }
function saveFileToLocal(uploadedFile, callback) { function saveFileToLocal(uploadedFile, callback) {
var extension = typeToExtension(uploadedFile.type); var extension = file.typeToExtension(uploadedFile.type);
if (!extension) { if (!extension) {
return callback(new Error('[[error:invalid-extension]]')); return callback(new Error('[[error:invalid-extension]]'));
} }
@ -228,14 +244,6 @@ function saveFileToLocal(uploadedFile, callback) {
}); });
} }
function typeToExtension(type) {
var extension;
if (type) {
extension = '.' + mime.extension(type);
}
return extension;
}
function deleteTempFiles(files) { function deleteTempFiles(files) {
async.each(files, function (file, next) { async.each(files, function (file, next) {
fs.unlink(file.path, function (err) { fs.unlink(file.path, function (err) {
@ -247,6 +255,4 @@ function deleteTempFiles(files) {
}); });
} }
module.exports = uploadsController; module.exports = uploadsController;

Loading…
Cancel
Save