mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 03:26:04 +01:00
Use typeToExtension from file.js
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user