Go でマルチパート フォーム フィールドの Content-Type ヘッダーを設定する
ファイルのアップロードでマルチパート フォームを送信する場合、コンテンツを指定する必要があります- 受信 API による適切な処理を保証するためのファイル フィールドのヘッダーを入力します。 net/http を使用してリクエスト全体のグローバル ヘッダーを設定するのは簡単ですが、マルチパート フォーム フィールドに個別のヘッダーを設定するのは難しいことがわかっています。
これを克服するには、カスタム関数を使用して、明示的なコンテンツを含むフォーム フィールドを作成できます。タイプ ヘッダー:
<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>
この関数は、マルチパート ライターとファイル名を入力として受け取り、ファイル データを書き込むことができる io.Writer を返します。実装されたヘッダーは、必要に応じて Content-Disposition と Content-Type を設定します。
特定のマルチパート フォーム フィールドの Content-Type を設定するには、次のようにカスタム関数を使用します。
<code class="go">audioFile, _ := CreateAudioFormFile(writer, "helloWorld.wav") io.Copy(audioFile, file)</code>
このアプローチにより、個々のマルチパート フォーム フィールドに Content-Type を効果的に設定できるため、開発者は特定のコンテンツ タイプ要件を持つファイルのアップロードをシームレスに処理できるようになります。
以上がGo でマルチパート フォーム フィールドに特定の Content-Type ヘッダーを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。