Maison >développement back-end >Golang >Comment personnaliser le type de contenu pour les champs de formulaire individuels dans le formulaire en plusieurs parties de Go ?
Personnalisation du type de contenu pour les champs de formulaire en plusieurs parties dans Go
Cette question concerne la personnalisation du type de contenu pour les champs de formulaire individuels au sein d'un formulaire en plusieurs parties formulaire créé à l’aide du package Go mime/multipart. Bien que le code d'origine crée le formulaire en plusieurs parties, il suppose un type de contenu par défaut « application/octet-stream ». L'objectif est de définir un type de contenu spécifique pour un champ spécifique, tel que "audio/wav;rate=8000" pour un fichier audio.
Le package mime/multipart natif ne fournit pas de prise en charge explicite pour la configuration le Content-Type pour les champs individuels. Cependant, une implémentation personnalisée peut être utilisée pour y parvenir.
<code class="go">func CreateAudioFormFile(w *multipart.Writer, filename string) (io.Writer, error) { h := make(textproto.MIMEHeader) h.Set("Content-Disposition", fmt.Sprintf(`form-data; name="%s"; filename="%s"`, "file", filename)) h.Set("Content-Type", "audio/wav;rate=8000") return w.CreatePart(h) }</code>
Cette fonction crée une nouvelle partie de formulaire avec le type de contenu souhaité. Le code original peut être modifié pour utiliser cette fonction :
<code class="go">audioFile, _ := CreateAudioFormFile(writer, "helloWorld.wav") io.Copy(audioFile, file)</code>
Maintenant, l'API recevra le formulaire en plusieurs parties avec le Content-Type approprié pour le fichier audio. Les données du formulaire résultant ressembleront à ce qui suit :
--0c4c6b408a5a8bf7a37060e54f4febd6083fd6758fd4b3975c4e2ea93732 Content-Disposition: form-data; name="file"; filename="helloWorld.wav" Content-Type: audio/wav;rate=8000 [audio file data] --0c4c6b408a5a8bf7a37060e54f4febd6083fd6758fd4b3975c4e2ea93732--
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!