29 lines
682 B
JavaScript
29 lines
682 B
JavaScript
const multer = require("multer");
|
|
const path = require("path");
|
|
|
|
const storage = multer.diskStorage({
|
|
destination: function (req, res, cb) {
|
|
cb(null, "uploads/");
|
|
},
|
|
filename: function (req, file, cb) {
|
|
cb(null, Date.now() + path.extname(file.originalname));
|
|
},
|
|
});
|
|
|
|
const fileFilter = (res, file, cb) => {
|
|
const allowedTypes = ["image/jpeg", "image/png", "video/mkv", "video/mp4"];
|
|
if (allowedTypes.includes(file.mimetype)) {
|
|
cb(null, true);
|
|
} else {
|
|
cb(new Error("Invalid File Type "), false);
|
|
}
|
|
};
|
|
|
|
const upload = multer({
|
|
storage: storage,
|
|
fileFilter: fileFilter,
|
|
limits: { fileSize: 2 * 1024 * 1024 * 1024 },
|
|
});
|
|
|
|
module.exports = upload;
|