Как проверить был ли загружен файл на сервер на GO?

Для проверки того, был ли файл загружен на сервер при помощи языка Go, необходимо выполнить следующие шаги:

1. Создайте сервер, который принимает HTTP-запросы. Используйте пакет net/http для создания HTTP-сервера.

package main

import (
    "fmt"
    "log"
    "net/http"
)

func main() {
    http.HandleFunc("/upload", handleUpload)
    log.Fatal(http.ListenAndServe(":8080", nil))
}

func handleUpload(w http.ResponseWriter, r *http.Request) {
    // ваш код для обработки загрузки файла
}

2. В функции handleUpload обработайте HTTP-запрос и проверьте, был ли файл передан в теле запроса. Для этого можно воспользоваться функцией ParseMultipartForm, если файл передается как часть многочастного тела запроса (multipart form data), или методом r.FormFile, если файл передается как параметр формы (form data).

func handleUpload(w http.ResponseWriter, r *http.Request) {
    // Проверяем тип запроса
    if r.Method != http.MethodPost {
        http.Error(w, "Only POST requests are supported", http.StatusBadRequest)
        return
    }

    // Проверяем наличие файла в теле запроса
    file, header, err := r.FormFile("file")
    if err != nil {
        http.Error(w, "Failed to read file from request", http.StatusBadRequest)
        return
    }
    
    defer file.Close()

    // В файле содержится информация о загруженном файле
    fmt.Printf("Uploaded File: %+vn", header.Filename)
}

3. В этом примере мы предполагаем, что файл передается как параметр формы с именем "file". Мы используем функцию r.FormFile для получения файла из запроса. Если файл найден, он открывается для дальнейшей обработки. В данном примере мы просто выводим имя файла в консоль, но вы можете выполнить любое другое действие с файлом на свое усмотрение.

4. Запустите сервер и отправьте POST-запрос на путь /upload, включая файл в теле запроса. Если файл был успешно загружен, его имя будет выведено в консоли.

Теперь вы можете использовать этот базовый пример, чтобы проверять наличие загруженных файлов в вашем приложении на Go. Вы можете добавить дополнительную обработку сервера и файлов в соответствии с вашими требованиями.