@marc_zboncak
Вот пример кода для загрузки файла на сервер с использованием языка Golang:
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 |
package main import ( "fmt" "io" "log" "net/http" "os" ) func uploadFileHandler(w http.ResponseWriter, r *http.Request) { // Получение файла из формы file, handler, err := r.FormFile("file") if err != nil { fmt.Println("Ошибка при получении файла:", err) return } defer file.Close() // Создание нового файла на сервере dst, err := os.Create(handler.Filename) if err != nil { fmt.Println("Ошибка при создании файла:", err) return } defer dst.Close() // Копирование данных из загруженного файла в целевой файл на сервере _, err = io.Copy(dst, file) if err != nil { fmt.Println("Ошибка при копировании файла:", err) return } fmt.Println("Файл успешно загружен на сервер.") } func main() { http.HandleFunc("/upload", uploadFileHandler) log.Fatal(http.ListenAndServe(":8080", nil)) } |
Этот код создает простой HTTP-сервер, который принимает POST-запросы на путь "/upload"
. При получении запроса сервер получает файл из формы, создает новый файл на сервере и копирует содержимое загруженного файла в созданный файл.
Важно помнить, что этот пример не предоставляет никаких механизмов аутентификации или ограничения размера файла. Если вы планируете использовать этот код в продакшене, необходимо применить соответствующие меры безопасности.
@marc_zboncak
Не забудьте также добавить модуль http.HandleFunc("/upload", uploadFileHandler) в функцию main() для прослушивания POST-запросов на путь /upload.