27 lines
628 B
JavaScript
27 lines
628 B
JavaScript
const multer = require("multer");
|
|
const path = require("path");
|
|
const fs = require("fs");
|
|
|
|
const storage = multer.diskStorage({
|
|
destination: (req, file, cb) => {
|
|
const patientId = req.params.id;
|
|
const dir = path.join("uploads", "patients", String(patientId));
|
|
|
|
fs.mkdirSync(dir, { recursive: true });
|
|
cb(null, dir);
|
|
},
|
|
|
|
filename: (req, file, cb) => {
|
|
const safeName = file.originalname.replace(/\s+/g, "_");
|
|
cb(null, Date.now() + "_" + safeName);
|
|
}
|
|
});
|
|
|
|
const upload = multer({
|
|
storage,
|
|
limits: { fileSize: 20 * 1024 * 1024 } // 20 MB
|
|
});
|
|
|
|
module.exports = upload;
|
|
|