fix: http MIME encoded word filename parse (#931)

This commit is contained in:
Levi authored and GitHub committed 2025-02-13 21:54:13 +08:00
1 parent cb07ce58bc
commit fba990a056
3 files changed
+29 -1

No files matched your search

+8 -1
View File
@@ -147,7 +147,14 @@ func (f *Fetcher) Resolve(req *base.Request) error {
_, params, _ := mime.ParseMediaType(contentDisposition)
filename := params["filename"]
if filename != "" {
file.Name = filename
// Check if the filename is MIME encoded-word
if strings.HasPrefix(filename, "=?") {
decoder := new(mime.WordDecoder)
filename = strings.Replace(filename, "UTF8", "UTF-8", 1)
file.Name, _ = decoder.Decode(filename)
} else {
file.Name = filename
}
}
}
// get file filePath by URL