Для выполнения POST-запроса с картинкой в формате base64 в языке Golang, вам потребуются следующие шаги:
1. Импортируйте необходимые пакеты:
import ( "bytes" "encoding/base64" "net/http" )
2. Подготовьте картинку в формате base64:
imageBase64 := "..." // Ваша base64-строка с картинкой
3. Кодируйте base64-строку в байтовый массив:
imageBytes, err := base64.StdEncoding.DecodeString(imageBase64) if err != nil { // Обработка ошибки, если возникла проблема с декодированием panic(err) }
4. Создайте объект bytes.Buffer
и добавьте в него байтовый массив с картинкой:
buffer := bytes.Buffer{} buffer.Write(imageBytes)
5. Создайте объект http.Request
с методом POST и указанием URL-адреса, на который будет отправлен запрос:
url := "http://example.com/upload" // Адрес, на который будет отправлен запрос request, err := http.NewRequest("POST", url, &buffer) if err != nil { // Обработка ошибки, если не удалось создать запрос panic(err) }
6. Установите правильный заголовок для запроса, указывающий на тип содержимого (Content-Type) как "image/png" или "image/jpeg", в зависимости от формата вашей картинки:
request.Header.Set("Content-Type", "image/png") // Измените на нужный MIME-тип картинки
7. Создайте объект http.Client
и выполните запрос:
client := http.Client{} response, err := client.Do(request) if err != nil { // Обработка ошибки, если запрос не удалось выполнить panic(err) } defer response.Body.Close()
8. Обработайте ответ сервера по вашему усмотрению. Например, получите содержимое ответа в формате строки:
body, err := ioutil.ReadAll(response.Body) if err != nil { // Обработка ошибки, если не удалось прочитать содержимое ответа panic(err) } responseString := string(body)
Это основной код, который позволит вам выполнить POST-запрос с картинкой в формате base64 в языке Golang. Не забудьте обработать возможные ошибки для обеспечения надлежащей работоспособности вашего приложения.