"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment gérer les téléchargements de fichiers sur un serveur Golang net/http avec Mux ?

Comment gérer les téléchargements de fichiers sur un serveur Golang net/http avec Mux ?

Publié le 2024-12-11
Parcourir:458

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

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 célèbre 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 :

  1. Créer 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)
  2. 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
    }
  3. 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)
  4. 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 en utilisant Mux.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3