2017-01-05 5 views
-2

Я написал задачу из книги «Язык программирования Go» Брайана У. Кернигана, Алана Донована. Это задача № 3.4 моего обработчика запрос выглядит следующим образом:http.ResponseWriter не задает тип содержимого заголовка

func handler(w http.ResponseWriter, r *http.Request) { 
    poly(w) 
    w.Header().Set("ContentType", "image/svg+xml") 
    fmt.Println(w.Header().Get("ContentType")) 
} 

поли (ж) - это функция, вернуть файл Г в Writer. Кроме того, я оценил значение ContentType, и это «image/svg + xml». Но когда я смотрю в разработке меню в хром (F12) я вижу это: network menu in debug

И, конечно же, я вижу XML текст Svn файла, а не изображения.

Итак, у меня есть вопрос: это моя ошибка, или это ошибка в голанге, или это нормальное переполнение.

+1

В ответ на этот вопрос задан типографский вопрос. – silentsod

ответ

3

Вы должны установить заголовки перед записью тела ответа. Дополнительную информацию см. В документации ResponseWriter.

Кроме того, существует типографская ошибка. Имя заголовка - «Content-Type», а не «ContentType»

func handler(w http.ResponseWriter, r *http.Request) { 
    w.Header().Set("Content-Type", "image/svg+xml") 
    poly(w) 
} 
Смежные вопросы