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

lpwwtiir  于 2022-12-25  发布在  Go
关注(0)|答案(1)|浏览(138)

我使用的API要求多部分表单的内容类型为Content-Type:audio/wav,但如果添加一个带有part, _ := writer.CreateFormFile("audio_file", "test2.wav")的文件,则会使内容类型的application/octet-stream
我试过:part.Header.Set("Content-Type", "audio/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
rxztt3cl

rxztt3cl1#

直接调用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)

相关问题