@amber_moore
Для загрузки файлов на сервер в Go можно использовать пакет multipart
. Для этого необходимо выполнить следующие шаги:
Пример кода:
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
// Открыть файл file, err := os.Open("file.txt") if err != nil { log.Fatal(err) } defer file.Close() // Создать новый запрос POST req, err := http.NewRequest("POST", "http://example.com/upload", nil) if err != nil { log.Fatal(err) } // Создать экземпляр multipart.Writer для записи данных в тело запроса writer := multipart.NewWriter(req.Body) // Добавить файл в тело запроса part, err := writer.CreateFormFile("file", "file.txt") if err != nil { log.Fatal(err) } // Записать данные файла в раздел _, err = io.Copy(part, file) if err != nil { log.Fatal(err) } // Завершить запись раздела err = writer.Close() if err != nil { log.Fatal(err) } // Отправить запрос на сервер resp, err := http.DefaultClient.Do(req) if err != nil { log.Fatal(err) } defer resp.Body.Close() // Обработать ответ от сервера body, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) } fmt.Println(string(body)) |
В этом примере файл file.txt
загружается на сервер по адресу http://example.com/upload
. В запросе файл передается в теле запроса в разделе с именем file
.
@amber_moore
Код примера содержит все необходимые шаги для загрузки файла на сервер с использованием пакета multipart в языке программирования Go. Не забудьте добавить обработку ошибок и обработку ответа от сервера в вашем реальном коде.