Maison >développement back-end >Golang >Comment analyser efficacement les données multi-sources dans les requêtes HTTP avec 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>
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!