@loyal
В Go для чтения бинарных данных из http.Request
можно использовать пакет io/ioutil
.
Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
package main import ( "fmt" "io/ioutil" "log" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { // Чтение бинарных данных из тела запроса body, err := ioutil.ReadAll(r.Body) if err != nil { http.Error(w, "Error reading request body", http.StatusInternalServerError) return } defer r.Body.Close() // Обработка бинарных данных fmt.Println(body) // Отправка ответа fmt.Fprint(w, "Request body received ") } func main() { http.HandleFunc("/", handler) log.Fatal(http.ListenAndServe(":8080", nil)) } |
В этом примере функция ioutil.ReadAll
используется для чтения бинарных данных из тела запроса. Затем данные обрабатываются по необходимости. В конце ответ отправляется клиенту.
Обратите внимание, что мы закрываем тело запроса в конце чтения с помощью defer r.Body.Close()
. Это важно, чтобы избежать утечки ресурсов.