sanitize the file name
This commit is contained in:
@@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user