首頁 > 後端開發 > Golang > 主體

如何在 Go 中為多部分錶單欄位設定特定的內容類型標頭?

Mary-Kate Olsen
發布: 2024-10-27 10:09:03
原創
150 人瀏覽過

How to Set Specific Content-Type Headers for Multipart Form Fields in Go?

在Go 中為多部分錶單欄位設定內容類型標頭

在提交帶有檔案上傳的多部分錶單時,需要指定內容- 輸入文件欄位的標頭,以確保接收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>
登入後複製

這種方法有效地允許為各個多部分錶單字段設定內容類型,使開發人員能夠無縫處理具有特定內容類型要求的文件上傳。

以上是如何在 Go 中為多部分錶單欄位設定特定的內容類型標頭?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!