sanitizeDownloadFilename
清理下载文件名中的非法字符并限制长度。
函数签名
typescript
interface SanitizeDownloadFilenameOptions {
fallback?: string
maxLength?: number
allowCjk?: boolean
}
function sanitizeDownloadFilename(
name: string,
optionsOrFallback?: string | SanitizeDownloadFilenameOptions,
): string参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
name | string | 是 | 原始文件名 |
optionsOrFallback | string | SanitizeDownloadFilenameOptions | 否 | 字符串时等同 { fallback };默认 download |
SanitizeDownloadFilenameOptions
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
fallback | string | download | 清理后为空时使用 |
maxLength | number | 200 | 最大长度 |
allowCjk | boolean | false | 允许中文与 \w,折叠连续非法字符 |
返回值
| 类型 | 说明 |
|---|---|
string | 安全文件名 |
工作原理
- 默认模式:将
/\?*:|"<>替换为_并 trim,截断至maxLength。 allowCjk: true:保留\w与中文,其余非法字符折叠为_,合并连续_(icon-font 导出等)。- 空串回退
fallback。