fix: 补齐报表文件名安全边界
This commit is contained in:
@@ -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}`
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user