登录
首页 >  Golang >  Go问答

单元测试:以数组形式发送 POST 请求中的 multipart/form-data 字段

来源:stackoverflow

时间:2024-03-06 11:54:27 270浏览 收藏

学习Golang要努力,但是不要急!今天的这篇文章《单元测试:以数组形式发送 POST 请求中的 multipart/form-data 字段》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

问题内容

我正在尝试对我的 go 应用程序进行单元测试,该应用程序使用 gin (postform 和 postformarray)处理 multipart/form-data 内容类型中的表单数据

x, y := c.postform("x"), c.postformarray("y")

使用 go 提供的 mime/multipart 库制作具有非数组值(postform)的表单字段没有问题

buf := new(bytes.Buffer)
w := multipart.NewWriter(buf)

x, _ := w.CreateFormField("x")
x.Write([]byte("This is x value"))

w.Close()

哪个 postform 可以完美处理,现在我想知道是否有任何方法可以发送一个带有数组作为其值的多部分/表单数据字段,如 []string{"this is y 1", "this is y 2"} 使其能够与 gin 的 postformarray 一起使用。这可能吗?我该怎么做?任何帮助将不胜感激。提前致谢!


解决方案


您可以创建多个具有相同名称的字段,例如

buf := new(bytes.Buffer)
w := multipart.NewWriter(buf)

x, _ := w.CreateFormField("x")
x.Write([]byte("This is x value"))

y1, _ := w.CreateFormField("y")
y1.Write([]byte("this is y 1"))

y2, _ := w.CreateFormField("y")
y2.Write([]byte("this is y 2"))

w.Close()

到这里,我们也就讲完了《单元测试:以数组形式发送 POST 请求中的 multipart/form-data 字段》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>