prisma-CRUD-validate/middlewares/upload.js

36 lines
833 B
JavaScript
Raw Normal View History

2025-01-24 06:09:35 +00:00
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;