L'éditeur PHP Xinyi vous présentera la solution sur la façon d'ajouter des en-têtes spécifiques en plusieurs parties dans Golang dans cet article. Les en-têtes sont des composants clés des requêtes et des réponses HTTP, utilisés pour transmettre diverses informations de métadonnées. Cependant, nous pouvons parfois rencontrer un problème selon lequel des en-têtes en plusieurs parties spécifiques ne peuvent pas être ajoutés à la requête dans Golang. Dans ce qui suit, nous vous proposerons une solution simple et efficace pour vous aider à surmonter ce problème. commençons!
L'API que j'utilise nécessite que le type de contenu du formulaire en plusieurs parties soit de type contenu : audio/wav mais si vous ajoutez un fichier
part, _ := writer.createformfile("audio_file", "test2.wav")
Il crée le type de contenu application/octet-stream
J'ai essayé :
part.header.set("content-type", "音频/wav")
Mais l'en-tête n'est pas défini.
Voici les données de la requête curl moins le binaire valide :
content-disposition: form-data; name="audio_file"; filename="test2.wav" content-type: audio/wav
Voici ma demande moins les données binaires rejetées :
Content-Disposition: form-data; name="audio_file"; filename="test2.wav" Content-Type: application/octet-stream
Appelez createpart directement au lieu de la méthode pratique createformfile. Définissez le type de contenu dans l'en-tête utilisé pour créer le widget.
h := make(textproto.MIMEHeader) h.Set("Content-Disposition", fmt.Sprintf(`form-data; name="%s"; filename="%s"`, "audio_file", "test2.wav")) h.Set("Content-Type", "audio/wav") part, err := writer.CreatePart(h)
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!