get extention from content type

v1.18.x
barisusakli 8 years ago
parent 409b8d8ebc
commit 51981ffb99

@ -197,11 +197,8 @@ function uploadFile(uid, uploadedFile, callback) {
if (meta.config.hasOwnProperty('allowedFileExtensions')) {
var allowed = file.allowedExtensions();
var extension = path.extname(uploadedFile.name);
if (!extension) {
extension = '.' + mime.extension(uploadedFile.type);
}
if (allowed.length > 0 && allowed.indexOf(extension) === -1) {
var extension = typeToExtension(uploadedFile.type);
if (!extension || (allowed.length > 0 && allowed.indexOf(extension) === -1)) {
return callback(new Error('[[error:invalid-file-type, ' + allowed.join(', ') + ']]'));
}
}
@ -210,14 +207,13 @@ function uploadFile(uid, uploadedFile, callback) {
}
function saveFileToLocal(uploadedFile, callback) {
var extension = path.extname(uploadedFile.name);
if (!extension && uploadedFile.type) {
extension = '.' + mime.extension(uploadedFile.type);
var extension = typeToExtension(uploadedFile.type);
if (!extension) {
return callback(new Error('[[error:invalid-extension]]'));
}
var filename = uploadedFile.name || 'upload';
filename = Date.now() + '-' + validator.escape(filename.replace(extension, '')).substr(0, 255) + extension;
filename = Date.now() + '-' + validator.escape(filename.replace(path.extname(uploadedFile.name) || '', '')).substr(0, 255) + extension;
file.saveFileToLocal(filename, 'files', uploadedFile.path, function (err, upload) {
if (err) {
@ -232,6 +228,14 @@ function saveFileToLocal(uploadedFile, callback) {
});
}
function typeToExtension(type) {
var extension;
if (type) {
extension = '.' + mime.extension(type);
}
return extension;
}
function deleteTempFiles(files) {
async.each(files, function (file, next) {
fs.unlink(file.path, function (err) {

Loading…
Cancel
Save