2026-06-25 00:19:26 +05:30

21 lines
625 B
JavaScript

import fs from "node:fs";
import path from "node:path";
import crypto from "node:crypto";
import multer from "multer";
import { config } from "../config.js";
fs.mkdirSync(config.uploadDirectory, { recursive: true });
const storage = multer.diskStorage({
destination: config.uploadDirectory,
filename: (request, file, callback) => {
const extension = path.extname(file.originalname).slice(0, 20);
callback(null, `${Date.now()}-${crypto.randomUUID()}${extension}`);
},
});
export const uploadSingle = multer({
storage,
limits: { fileSize: config.MAX_UPLOAD_MB * 1024 * 1024, files: 1 },
}).single("file");