19 lines
800 B
TypeScript
19 lines
800 B
TypeScript
import path from "path";
|
|
|
|
export default function (file: Express.Multer.File) {
|
|
return `${path.parse(sanitizeFileName(path.basename(file.originalname))).name}-${Math.floor(Date.now() / 1000)}${path.extname(file.originalname)}`;
|
|
}
|
|
|
|
export function generateUniqueBillFilename(file: Express.Multer.File, invoice_number: string) {
|
|
return `${sanitizeFileName(invoice_number)}-${Math.floor(Date.now() / 1000)}${path.extname(file.originalname)}`;
|
|
}
|
|
|
|
export function generateUniqueHeicFilename(file: Express.Multer.File) {
|
|
return `${path.parse(sanitizeFileName(path.basename(file.originalname))).name}-${Math.floor(Date.now() / 1000)}.jpeg`;
|
|
}
|
|
|
|
function sanitizeFileName(fileName: string): string {
|
|
const restrictedChars = /[<>:"/\\|?*#\x00-\x1F]/g;
|
|
return fileName.replace(restrictedChars, "");
|
|
}
|