我在访问使用 golang 上传的文件时遇到问题。我对这门语言真的很陌生,并且经历了多次尝试——在网上也找不到任何答案。
我究竟做错了什么?在这段代码中,我从来没有到达列出上传文件数的块。
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Println("handling req...")
if r.Method =="GET"{
fmt.Println("GET req...")
} else {
//parse the multipart stuff if there
err := r.ParseMultipartForm(15485760)
//
if err == nil{
form:=r.MultipartForm
if form==nil {
fmt.Println("no files...")
} else {
defer form.RemoveAll()
// i never see this actually occur
fmt.Printf("%d files",len(form.File))
}
} else {
http.Error(w,err.Error(),http.StatusInternalServerError)
fmt.Println(err.Error())
}
}
//fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
fmt.Println("leaving...")
}
更新
我能够让上面的代码工作。这是伟大的。下面的答案显示了如何异步执行,这可能是比我更好的代码示例。