fix: 补齐报表文件名安全边界

This commit is contained in:
zxr
2026-08-03 21:42:30 +08:00
parent 3654ccb9db
commit 7c505f8169

View File

@@ -316,7 +316,7 @@ function normalizeReportFileName(
let name = fileName.split(/[\\/]/).pop() || '' let name = fileName.split(/[\\/]/).pop() || ''
name = name name = name
.replace(/[\u0000-\u001F\u007F\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g, '') .replace(/[\u0000-\u001F\u007F-\u009F\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g, '')
.replace(/[<>:"/\\|?*]/g, '_') .replace(/[<>:"/\\|?*]/g, '_')
.replace(/[ .]+$/, '') .replace(/[ .]+$/, '')
@@ -326,7 +326,7 @@ function normalizeReportFileName(
} }
if (!name) return defaultName if (!name) return defaultName
const reservedName = /^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i const reservedName = /^(con|prn|aux|nul|com[1-9¹²³]|lpt[1-9¹²³])$/i
if (reservedName.test(name.split('.')[0])) { if (reservedName.test(name.split('.')[0])) {
name = `_${name}` name = `_${name}`
} }