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