我想存储从GET请求获得的响应的MIME类型。我使用了DetectContentType
函数,但它为js和css资源提供了text/plain; charset=utf-8
。为了达到这个目的,我必须根据MIME类型区分每个网址和我的文件类型。
response, error := http.Get(url)
if error == nil {
contentType := response.Header.Get("Content-Type")
// ...
}
只给我内容类型。
答案 0 :(得分:4)
听起来你可以使用Go的mime包。 mime包中的TypeByExtension方法可能适合您的需要。 https://golang.org/pkg/mime/#TypeByExtension
我相信这会使用主机系统的mime类型表。通过此方法确定的mime类型可能与远程服务器报告的mime类型不同。
import "mime"
func DetermineMimeType (fileExtension string) string {
return mime.TypeByExtension(fileExtension)
}
请务必传入包含句点的完整文件扩展名,例如“.js”或“.css”。只是为了涵盖所有情况,如果你无法确定文件的扩展名或者这个方法没有返回mime类型,那么可能默认为远程服务器报告的mime类型。