sanitize the file name

This commit is contained in:
paritosh18
2025-12-31 17:05:53 +05:30
parent c2fa769220
commit 9161e224cc

View File

@@ -41,6 +41,25 @@ function normalizeJsonField(fields: any, key: string) {
}
}
function sanitizeFileName(originalName: string): string {
const extIndex = originalName.lastIndexOf('.');
const extension =
extIndex !== -1 ? originalName.slice(extIndex).toLowerCase() : '';
const baseName =
extIndex !== -1 ? originalName.slice(0, extIndex) : originalName;
return (
baseName
.trim()
.replace(/\s+/g, '_') // spaces → underscore
.replace(/[^a-zA-Z0-9_-]/g, '') // remove special chars
.toLowerCase() +
extension
);
}
/* -------------------------------- Handler -------------------------------- */
export const handler = safeHandler(
@@ -109,7 +128,7 @@ export const handler = safeHandler(
files.push({
buffer: Buffer.concat(chunks),
mimeType: mimeType || 'application/octet-stream',
fileName: filename || 'unknown',
fileName: sanitizeFileName(filename || 'unknown'),
fieldName,
});
}