Rumah > pembangunan bahagian belakang > Golang > Bagaimana Mengendalikan Muat Naik Fail dalam Pelayan Golang net/http?

Bagaimana Mengendalikan Muat Naik Fail dalam Pelayan Golang net/http?

Patricia Arquette
Lepaskan: 2024-12-09 19:12:25
asal
908 orang telah melayarinya

How to Handle File Uploads in a Golang net/http Server?

Cara Menerima Fail Yang Dimuat Naik Menggunakan Pelayan Golang net/http

Apabila cuba melaksanakan titik akhir muat naik fail mudah di Golang menggunakan Mux dan net/http, mendapatkan semula data fail daripada badan permintaan boleh menimbulkan cabaran. Penyelesaian berikut menangani isu ini:

import (
    "bytes"
    "fmt"
    "io"
    "net/http"
    "strings"
)

func ReceiveFile(w http.ResponseWriter, r *http.Request) {
    r.ParseMultipartForm(32 << 20) // limit your max input length!
    var buf bytes.Buffer
    file, header, err := r.FormFile("file") // replace "file" with the expected form field name
    if err != nil {
        panic(err)
    }
    defer file.Close()
    name := strings.Split(header.Filename, ".")
    fmt.Printf("File name %s\n", name[0])
    io.Copy(&buf, file)
    contents := buf.String()
    fmt.Println(contents)
    buf.Reset()
    return
}
Salin selepas log masuk

Fungsi ini:

  • Menghuraikan borang berbilang bahagian permintaan.
  • Mengambil semula fail yang dimuat naik daripada nama medan yang disediakan ( gantikan "fail" dengan nama medan sebenar anda).
  • Membaca kandungan fail ke dalam penimbal.
  • Mencetak nama fail ke konsol.
  • Menukar kandungan penimbal kepada rentetan.
  • Mencetak kandungan fail ke konsol.
  • Menetapkan semula penimbal untuk potensi penggunaan semula.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Muat Naik Fail dalam Pelayan Golang net/http?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan