app2-api/middlewares/uploader.js

42 lines
1022 B
JavaScript
Raw Normal View History

2019-08-07 13:56:25 +00:00
var multer = require('multer');
2019-08-15 17:54:18 +00:00
var mkdirp = require('mkdirp');
var config = require('../config');
2019-08-15 21:44:09 +00:00
var cdnHelper = require('../helpers/cdn.helper');
2019-08-07 13:56:25 +00:00
/*var upload = function (path) {
return multer({storage: storage(path)});
};*/
2019-08-15 17:54:18 +00:00
var memoryUpload = multer({
2019-08-07 13:56:25 +00:00
storage: multer.memoryStorage()
});
2019-08-15 17:54:18 +00:00
var makePath = function(path) {
mkdirp(path, function (err) {
if (err) throw err
else return true;
});
}
var cdnStorage = function(path) {
return multer.diskStorage({
destination: function (req, file, cb) {
cb(null, path)
},
filename: function (req, file, cb) {
2019-08-15 21:44:09 +00:00
cdnHelper.getUniqueName(path, file.originalname)
2019-08-15 22:22:48 +00:00
.then(function(betterName) {
cb(null, betterName.replace(path, ''));
2019-08-15 21:44:09 +00:00
});
2019-08-15 17:54:18 +00:00
}
});
}
var cdnUpload = function() {
2019-08-15 21:44:09 +00:00
var cdnPath = cdnHelper.getCDNPath();
makePath(cdnPath);
2019-08-15 17:54:18 +00:00
return multer({
2019-08-15 21:44:09 +00:00
storage: cdnStorage(cdnPath)
2019-08-15 17:54:18 +00:00
});
}
module.exports = cdnUpload;