Hochgeladene Dateien in Golang mit net/http und Mux empfangen
Einführung
Einen Server erstellen, der das erledigt Das Hochladen von Dateien ist eine häufige Aufgabe in der Webentwicklung. In Golang können Sie das Paket net/http verwenden, um Datei-Uploads effizient zu verwalten. Hier finden Sie eine umfassende Anleitung zum Empfang hochgeladener Dateien auf einem Golang-Netz-/http-Server mit dem beliebten Mux-Router.
Implementieren des Datei-Uploads
Um die Datei-Upload-Funktionalität auf Ihrem Server zu aktivieren, Sie müssen die folgenden Änderungen vornehmen:
Erstellen Sie einen Endpunkt, der die eingehenden Datei-Upload-Anfragen verarbeitet. Dieser Endpunkt sollte in der Router-Variablen definiert werden:
router. Path("/upload"). Methods("POST"). HandlerFunc(UploadFile)
In der UploadFile-Funktion müssen Sie die mehrteiligen Formulardaten analysieren. Hier ist die hochgeladene Datei verfügbar:
func UploadFile(w http.ResponseWriter, r *http.Request) { err := r.ParseMultipartForm(5 * 1024 * 1024) if err != nil { panic(err) } // Retrieve the file from the multipart form file, header, err := r.FormFile("fileupload") if err != nil { panic(err) } defer file.Close() // Do something with the uploaded file, such as storing it in a database or processing it }
Um die Datei zu verarbeiten, können Sie ihren Inhalt in einen Puffer lesen und ihn nach Bedarf verarbeiten. Hier ist ein Beispiel:
var buf bytes.Buffer io.Copy(&buf, file) contents := buf.String() fmt.Println(contents)
Wenn Sie die Datei als mehrteilige Formulardaten mit cURL senden, stellen Sie sicher, dass Sie die richtigen Parameter angeben:
curl http://localhost:8080/upload -F "fileupload=[email protected]"
Wenn Sie diese Schritte befolgen, werden Sie kann mit Mux erfolgreich hochgeladene Dateien auf Ihrem Golang-Netz-/http-Server empfangen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3