如果解析curl命令POST file和data的数据?

我想用golang写一个http接口,这个接口需要解析POST传来的文件和相关数据,比如curl命令如下

curl -s -m 10 -g -X POST http://localhost:12345/ -F file=@a.conf -F 'data={"a":"b"}'

golang代码如下:

package main

import (
    "log"
    "net/http"
)

func test(rw http.ResponseWriter, req *http.Request) {
    req.ParseForm()
    log.Println(req.Form)
    log.Println(req.FormValue("data"))

    _, handler, err := req.FormFile("file")
    if err != nil {
        return
    }
    filename := handler.Filename
    log.Println(filename)
}

func main() {
    http.HandleFunc("/", test)
    log.Fatal(http.ListenAndServe(":12345", nil))
}

能够正常获取到file信息,但是不能获取到data信息,这事为什么呢?如果获取data信息?

阅读 8.3k
1 个回答

你需要 ParseMultipartForm

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进