Réception de téléchargements de fichiers avec le net/http et Mux de Golang
Dans le monde du développement Web, recevoir des téléchargements de fichiers est une tâche courante. Le package net/http de Golang fournit un cadre pratique pour gérer de telles requêtes, en particulier lorsqu'il est combiné avec le puissant routeur Mux.
Identification du problème
Votre code semble gérer correctement le téléchargement mais ne parvient pas à récupérer le contenu réel du fichier. Le coupable réside dans la fonction UploadFile, plus précisément dans la façon dont vous récupérez le corps de la requête.
Solution
Pour recevoir efficacement les fichiers téléchargés, suivez ces étapes :
Analyser le Multipart Formulaire :
r.ParseMultipartForm(5 * 1024 * 1024) // Sets a limit for the size of the form
Accéder au fichier :
file, header, err := r.FormFile("fileupload")
Copiez le Fichier du contenu dans un Tampon :
var buf bytes.Buffer io.Copy(&buf, file)
Récupérer le contenu du fichier sous forme de chaîne :
contents := buf.String()
Exemple de code
Voici une version modifiée de votre Fonction UploadFile :
func UploadFile(w http.ResponseWriter, r *http.Request) { r.ParseMultipartForm(5 * 1024 * 1024) var buf bytes.Buffer file, header, err := r.FormFile("fileupload") if err != nil { panic(err) } defer file.Close() fmt.Printf("File name %s\n", header.Filename) io.Copy(&buf, file) fmt.Println(buf.String()) }
Considérations supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!