Fix: preserve non-ASCII filenames in document downloads (#9702)

This commit is contained in:
shamoon
2025-04-19 15:10:34 -07:00
committed by GitHub
parent abf910fd93
commit f52ebc7bf0
3 changed files with 59 additions and 6 deletions
+23
View File
@@ -0,0 +1,23 @@
export function getFilenameFromContentDisposition(header: string): string {
if (!header) {
return null
}
// Try filename* (RFC 5987)
const filenameStar = header.match(/filename\*=(?:UTF-\d['']*)?([^;]+)/i)
if (filenameStar?.[1]) {
try {
return decodeURIComponent(filenameStar[1])
} catch (e) {
// Ignore decoding errors and fall through
}
}
// Fallback to filename=
const filenameMatch = header.match(/filename="?([^"]+)"?/)
if (filenameMatch?.[1]) {
return filenameMatch[1]
}
return null
}