36 lines
833 B
JavaScript
36 lines
833 B
JavaScript
|
const multer = require("multer");
|
||
|
const path = require("path");
|
||
|
|
||
|
const storage = multer.diskStorage({
|
||
|
destination: function (req, file, cb) {
|
||
|
cb(null, "uploads/");
|
||
|
},
|
||
|
filename: function (req, file, cb) {
|
||
|
cb(null, `${Date.now()}-${file.originalname}`);
|
||
|
},
|
||
|
});
|
||
|
|
||
|
const upload = multer({
|
||
|
storage: storage,
|
||
|
limits: { fileSize: 1000000 },
|
||
|
fileFilter: function (req, file, cb) {
|
||
|
checkFileType(file, cb);
|
||
|
},
|
||
|
});
|
||
|
|
||
|
function checkFileType(file, cb) {
|
||
|
const filetypes = /jpeg|jpg|png|gif|csv/;
|
||
|
const extname = filetypes.test(path.extname(file.originalname).toLowerCase());
|
||
|
const mimetype = filetypes.test(file.mimetype);
|
||
|
console.log(mimetype);
|
||
|
console.log(extname);
|
||
|
|
||
|
if (mimetype && extname) {
|
||
|
return cb(null, true);
|
||
|
} else {
|
||
|
cb("Error: Images and CSV's Only!");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = upload;
|