Функция http.DetectContentType
Функция http.DetectContentType определяет
MIME-тип данных на основе анализа первых 512 байт
переданного слайса байтов. В первый параметр мы
передаем слайс байтов []byte, содержимое
которого нужно проанализировать. Функция возвращает
строку с MIME-типом. Если тип не удается определить,
возвращается значение "application/octet-stream".
Синтаксис
http.DetectContentType(data []byte) string
Пример
Давайте определим MIME-тип для простой текстовой строки:
package main
import (
"fmt"
"net/http"
)
func main() {
data := []byte("abcde")
res := http.DetectContentType(data)
fmt.Println(res)
}
Результат выполнения кода:
"text/plain; charset=utf-8"
Пример
Давайте определим MIME-тип для JSON-данных:
package main
import (
"fmt"
"net/http"
)
func main() {
jsonData := []byte(`{"key": "value"}`)
res := http.DetectContentType(jsonData)
fmt.Println(res)
}
Результат выполнения кода:
"application/json"
Пример
Давайте определим MIME-тип для HTML-данных:
package main
import (
"fmt"
"net/http"
)
func main() {
htmlData := []byte("<html><body>Hello</body></html>")
res := http.DetectContentType(htmlData)
fmt.Println(res)
}
Результат выполнения кода:
"text/html; charset=utf-8"
Пример
Давайте определим MIME-тип для бинарных данных, где тип не удается распознать:
package main
import (
"fmt"
"net/http"
)
func main() {
binaryData := []byte{0x00, 0x01, 0x02, 0x03}
res := http.DetectContentType(binaryData)
fmt.Println(res)
}
Результат выполнения кода:
"application/octet-stream"
Смотрите также
-
функцию
http.DetectContentType,
которая определяет MIME-тип данных -
функцию
http.ParseHTTPVersion,
которая разбирает строку версии HTTP -
функцию
http.CanonicalHeaderKey,
которая приводит заголовок к каноническому виду -
функцию
http.ServeContent,
которая отправляет содержимое файла в ответ