Maison > développement back-end > Golang > le corps du texte

Comment analyser efficacement les données multi-sources dans les requêtes HTTP avec Go ?

Linda Hamilton
Libérer: 2024-10-25 01:59:02
original
720 Les gens l'ont consulté

How to Effectively Parse Multi-Source Data in HTTP Requests with Go?

Analyser des données de fichiers et JSON à partir d'une seule requête HTTP avec Go

L'analyse de données provenant de plusieurs sources au sein d'une seule requête HTTP peut être difficile. Dans ce cas, nous recevons à la fois un fichier PDF et des données JSON en tant que parties distinctes. Pour gérer efficacement ce scénario, Go fournit le package multipart/form-data.

Solution :

La clé pour résoudre ce problème est d'utiliser r.MultipartReader() . Cette fonction renvoie un objet mime/multipart.Reader, nous permettant de parcourir chaque partie de la requête et de les traiter individuellement. Voici le code modifié :

<code class="go">func (s *Server) PostFileHandler(w http.ResponseWriter, r *http.Request) {
    mr, err := r.MultipartReader()
    if err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
        return
    }

    doc := Doc{}
    for {
        part, err := mr.NextPart()

        // End of parts
        if err == io.EOF {
            break
        }

        // Handle PDF 'file' part
        if part.FormName() == "file" {
            // ... PDF processing code
        }

        // Handle JSON 'doc' part
        if part.FormName() == "doc" {
            jsonDecoder := json.NewDecoder(part)
            err = jsonDecoder.Decode(&doc)
            if err != nil {
                http.Error(w, err.Error(), http.StatusInternalServerError)
                return
            }
            // ... JSON processing code
        }
    }

    // ... Database insertion and response handling code
}</code>
Copier après la connexion

Grâce à cette approche, nous pouvons analyser séparément le fichier PDF et les données JSON, garantissant ainsi que les deux parties de la demande sont traitées correctement.

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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!