Maison > développement back-end > Golang > Comment puis-je définir des en-têtes Content-Type personnalisés pour des champs individuels dans un formulaire en plusieurs parties dans Go ?

Comment puis-je définir des en-têtes Content-Type personnalisés pour des champs individuels dans un formulaire en plusieurs parties dans Go ?

Linda Hamilton
Libérer: 2024-10-29 19:20:03
original
277 Les gens l'ont consulté

How can I set custom Content-Type headers for individual fields in a multipart form in Go?

Comment modifier les en-têtes de type de contenu pour les formulaires en plusieurs parties dans Go

Dans Go, vous devrez peut-être modifier le type de contenu en-tête pour des champs spécifiques dans un formulaire en plusieurs parties. Bien que le package mime/multipart vous permette de créer facilement des formulaires en plusieurs parties, il ne fournit pas de moyen direct de définir des en-têtes Content-Type pour des champs individuels.

Pour surmonter cette limitation, vous pouvez implémenter une fonction personnalisée comme la suivant :

<code class="go">import (
    "mime/multipart"
    "text/template"
)

func CreateAudioFormFile(writer *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 writer.CreatePart(h)
}</code>
Copier après la connexion

Cette fonction vous permet de créer un champ de formulaire avec l'en-tête Content-Type souhaité :

<code class="go">writer2 := multipart.NewWriter(buf)
audioFile, _ := CreateAudioFormFile(writer2, "helloWorld.wav")
io.Copy(audioFile, file)</code>
Copier après la connexion

Ce code générera un formulaire en plusieurs parties avec les en-têtes suivants :

--0c4c6b408a5a8bf7a37060e54f4febd6083fd6758fd4b3975c4e2ea93732
Content-Disposition: form-data; name="file"; filename="helloWorld.wav"
Content-Type: audio/wav;rate=8000
--0c4c6b408a5a8bf7a37060e54f4febd6083fd6758fd4b3975c4e2ea93732--
Copier après la connexion

N'oubliez pas d'écrire les données du fichier dans le champ après l'avoir créé, comme dans l'exemple original fourni.

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.cn
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