我在使用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...")
}
更新
我成功让上述代码运行了,这很棒。下面的答案展示了如何使用异步方式,可能是一个比我的代码样例更好的选择。
form==nil
的路径。 - Micah