@laney_johnson
Чтобы загрузить файл на сервер на Golang, вы можете использовать стандартные библиотеки HTTP и io, а также дополнительные библиотеки, такие как multipart и mime.
- Создайте HTTP-сервер на Golang, используя net/http и определите обработчик для обработки загрузок.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package main
import (
"fmt"
"net/http"
)
func uploadHandler(w http.ResponseWriter, r *http.Request) {
// Обработка загрузки файла
}
func main() {
http.HandleFunc("/upload", uploadHandler)
fmt.Println("Server started on http://localhost:8080")
http.ListenAndServe(":8080", nil)
}
|
- Определите тип запроса HTTP в обработчике загрузок, и если тип запроса POST, обработайте загрузку файла.
1
2
3
4
5
6
7
|
func uploadHandler(w http.ResponseWriter, r *http.Request) {
if r.Method == http.MethodPost {
// Обработка загрузки файла
} else {
http.Error(w, "Invalid request method", http.StatusMethodNotAllowed)
}
}
|
- Получите загруженный файл используя r.MultipartForm и запишите его в файл на диске.
1
2
3
4
5
|
func uploadHandler(w http.ResponseWriter, r *http.Request) {
if r.Method == http.MethodPost {
file, header, err := r.FormFile("file")
if err != nil {
http.Error(w, "Error retrieving file
|