使用go,如何解析从http HEAD请求中检索到的Content-Disposition头以获取文件的文件名?
此外,如何从http HEAD响应中检索标头本身?是这样的吗?
resp, err := http.Head("http://example.com/")
//handle error
contentDisposition := resp.Header.Get("Content-Disposition")
mime/multipart
包指定了Part类型上返回文件名的方法(称为FileName),但我不清楚我应该如何构建一个Part,或者是什么。
答案 0 :(得分:12)
您可以使用mime.ParseMediaType
函数解析Content-Disposition
标题。
disposition, params, err := mime.ParseMediaType(`attachment;filename="foo.png"`)
filename := params["filename"] // set to "foo.png"
这也适用于标题中的Unicode文件名(例如Content-Disposition: attachment;filename*="UTF-8''fo%c3%b6.png"
)。
您可以在此处进行试验:http://play.golang.org/p/AjWbJB8vUk