我想用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信息?
你需要
ParseMultipartForm。