Когда я пытаюсь получить имя файла из заголовка Content-Disposition, функция go mime.ParseMediaType()
завершается с ошибкой mime: invalid media parameter
Я уже выяснил, что она работает с обычным именем файлаформат:
attachment; filename="Geotag_Stamp%20(1)%20(1).jpg"
<- работает </p>
Но с именем файла UTF-8 (определенным в rfc6266 ) происходит сбой с ошибкой, приведенной в первом абзаце:
attachment; filename*=UTF-8''"Geotag_Stamp%20(1)%20(1).jpg"
<- не работает </p>
Вот мой код:
package main
import (
"fmt"
"mime"
)
func main() {
d, params, err := mime.ParseMediaType(`attachment; filename="Geotag_Stamp%20(1)%20(1).jpg"`)
if err != nil {
fmt.Println("**Normal Filename error:", err)
}
fmt.Println("Normal:", d, params)
d, params, err = mime.ParseMediaType(`attachment; filename*=UTF-8''"Geotag_Stamp%20(1)%20(1).jpg"`)
if err != nil {
fmt.Println("**UTF-8 Filename error:", err)
}
fmt.Println("UTF-8",d, params)
}
На детской площадке
Возможно ли, что stdlib не поддерживает UTF-8-версию Content-Disposition-> Filename?