cleaner file names
This commit is contained in:
parent
4ebe063369
commit
1588e4f861
1 changed files with 22 additions and 7 deletions
|
@ -1,22 +1,39 @@
|
||||||
let express = require('express');
|
let express = require('express');
|
||||||
let multer = require('multer');
|
let multer = require('multer');
|
||||||
|
|
||||||
|
let db = require('../db');
|
||||||
let fs = require('fs');
|
let fs = require('fs');
|
||||||
|
|
||||||
function extension(string) {
|
function extension(string) {
|
||||||
return string.slice((string.lastIndexOf(".") - 2 >>> 0) + 2);
|
return string.slice((string.lastIndexOf(".") - 2 >>> 0) + 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function extension(str){
|
||||||
|
let file = str.split('/').pop();
|
||||||
|
return [file.substr(0,file.lastIndexOf('.')),file.substr(file.lastIndexOf('.'),file.length)]
|
||||||
|
}
|
||||||
|
|
||||||
const storage = multer.diskStorage({
|
const storage = multer.diskStorage({
|
||||||
destination: function (req, file, cb) {
|
destination: function (req, file, cb) {
|
||||||
cb(null, 'uploads/')
|
cb(null, 'uploads/')
|
||||||
},
|
},
|
||||||
filename : function(req, file, cb) {
|
filename : function(req, file, cb) {
|
||||||
let prefix = Date.now();
|
db.all('SELECT * FROM media WHERE path = ?', [file.originalname], function (err, exists) {
|
||||||
|
if (exists.length != 0) {
|
||||||
|
let suffix = new Date().getTime() / 1000;
|
||||||
|
let nameAndExtension = extension(file.originalname);
|
||||||
|
|
||||||
if (req.body.title == '' || req.body.title == null || req.body.title == undefined)
|
if (req.body.title == '' || req.body.title == null || req.body.title == undefined)
|
||||||
cb(null, prefix + '-' + file.originalname)
|
cb(null, nameAndExtension[0] + '-' + suffix + nameAndExtension[1])
|
||||||
else
|
else
|
||||||
cb(null, prefix + '-' + req.body.title + extension(file.originalname))
|
cb(null, req.body.title + '-' + suffix + nameAndExtension[1])
|
||||||
|
} else {
|
||||||
|
if (req.body.title == '' || req.body.title == null || req.body.title == undefined)
|
||||||
|
cb(null, file.originalname)
|
||||||
|
else
|
||||||
|
cb(null, req.body.title + nameAndExtension[1])
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -33,8 +50,6 @@ const fileFilter = function(req, file, cb) {
|
||||||
|
|
||||||
let upload = multer({ storage: storage, fileFilter: fileFilter });
|
let upload = multer({ storage: storage, fileFilter: fileFilter });
|
||||||
|
|
||||||
let db = require('../db');
|
|
||||||
|
|
||||||
function fetchMedia(req, res, next) {
|
function fetchMedia(req, res, next) {
|
||||||
db.all('SELECT * FROM media', (err, rows) => {
|
db.all('SELECT * FROM media', (err, rows) => {
|
||||||
if (err) return next(err);
|
if (err) return next(err);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue