我是由Brian W. Kernighan,Alan Donovan写的“Go Go Programming Language”一书写的任务。这是任务№3.4 我的请求处理程序如下所示:
func handler(w http.ResponseWriter, r *http.Request) {
poly(w)
w.Header().Set("ContentType", "image/svg+xml")
fmt.Println(w.Header().Get("ContentType"))
}
poly(w) - 它是在Writer中返回svg文件的函数。 此外,我checked ContentType的值,它是“image / svg + xml”。 但是当我在chrome(F12)中查看开发菜单时,我看到了: network menu in debug
当然,我看到svn文件的xml文本,而不是图片。
所以,我有疑问:这是我的错,或者是golang中的错误,或者是正常的sutiation。
答案 0 :(得分:3)
您必须在编写响应正文之前设置标题。有关详细信息,请参阅ResponseWriter文档。
此外,还有一个印刷错误。标题名称是“Content-Type”,而不是“ContentType”
func handler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "image/svg+xml")
poly(w)
}