首頁  >  文章  >  後端開發  >  我無法將標頭添加到 golang 中的特定多部分

我無法將標頭添加到 golang 中的特定多部分

PHPz
PHPz轉載
2024-02-10 18:18:18668瀏覽

我无法将标头添加到 golang 中的特定多部分

php小編新一在這篇文章中將為您介紹如何在golang中新增特定多部分標頭的解決方法。標頭是HTTP請求和回應中的關鍵組成部分,用於傳遞各種元資料資訊。然而,有時我們可能會遇到一個問題,即在golang中無法將特定的多部分標頭添加到請求中。在接下來的內容中,我們將提供一個簡單有效的解決方案,以幫助您克服這個問題。讓我們開始吧!

問題內容

我使用的 api 要求多部分錶單的內容類型為 content-type: audio/wav 但如果您新增一個文件 part, _ := writer.createformfile("audio_file", "test2.wav") 它使內容類型為 application/octet-stream

我嘗試過: part.header.set("content-type", "音訊/wav") 但標頭未定義。

這是curl請求資料減去有效的二進位檔案:

content-disposition: form-data; name="audio_file"; filename="test2.wav"
content-type: audio/wav

這是我的請求減去被拒絕的二進位資料:

Content-Disposition: form-data; name="audio_file"; filename="test2.wav"
Content-Type: application/octet-stream

解決方法

直接呼叫 createpart 而非 createformfile 便捷方法。在用於建立部件的標頭中設定內容類型。

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)

以上是我無法將標頭添加到 golang 中的特定多部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除