首页 > 后端开发 > Golang > 我无法将标头添加到 golang 中的特定多部分

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

PHPz
发布: 2024-02-10 18:18:18
转载
711 人浏览过

我无法将标头添加到 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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板