Réception de fichiers téléchargés dans Golang à l'aide de net/http et Mux
Introduction
Création d'un serveur qui gère le téléchargement de fichiers est une tâche courante dans le développement Web. Dans Golang, vous pouvez utiliser le package net/http pour gérer efficacement les téléchargements de fichiers. Voici un guide complet sur la façon de recevoir des fichiers téléchargés sur un serveur Golang net/http à l'aide du populaire routeur Mux.
Implémentation du téléchargement de fichiers
Pour activer la fonctionnalité de téléchargement de fichiers sur votre serveur, vous devez apporter les modifications suivantes :
Créez un point de terminaison qui gère les demandes de téléchargement de fichiers entrantes. Ce point de terminaison doit être défini dans la variable du routeur :
router. Path("/upload"). Methods("POST"). HandlerFunc(UploadFile)
Dans la fonction UploadFile, vous devez analyser les données du formulaire en plusieurs parties. C'est ici que le fichier téléchargé sera disponible :
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 }
Pour traiter le fichier, vous pouvez lire son contenu dans un tampon et le gérer selon vos besoins. Voici un exemple :
var buf bytes.Buffer io.Copy(&buf, file) contents := buf.String() fmt.Println(contents)
Si vous envoyez le fichier sous forme de données de formulaire en plusieurs parties à l'aide de cURL, assurez-vous de fournir les paramètres corrects :
curl http://localhost:8080/upload -F "fileupload=[email protected]"
En suivant ces étapes, vous pouvez recevoir avec succès les fichiers téléchargés sur votre serveur Golang net/http à l'aide de Mux.
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!