下面是go代码,这个代码只能接收一个文件,如果要接收多个文件,请问怎么办?
func upload(w http.ResponseWriter, r *http.Request) {
r.ParseMultipartForm(32 << 20)
file, handler, err := r.FormFile("uploadfile")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
f, err := os.OpenFile(handler.Filename, os.O_WRONLY|os.O_CREATE, 0666)
fmt.Printf("---- %v\n",handler.Filename)
if err != nil {
fmt.Println(err)
return
}
defer f.Close()
io.Copy(f, file)
fmt.Fprintln(w, "upload ok!")
}
下面是上传功能html5代码,input使用了multiple属性,支持多文件上传
const tpl = `<html>
<head>
<title>WEB文件管理</title>
</head>
<body>
<form enctype="multipart/form-data" action="/upload" method="post">
<input type="file" multiple name="uploadfile"/>
<input type="submit" value="上传" />
</form>
</body>
</html>`
-- 可视 -- 37 19,1 底端
func upload(w http.ResponseWriter, r *http.Request) {
r.ParseMultipartForm(32 << 20)
file, handler, err := r.FormFile("uploadfile")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
f, err := os.OpenFile(handler.Filename, os.O_WRONLY|os.O_CREATE, 0666)
fmt.Printf("---- %v\n",handler.Filename)
if err != nil {
fmt.Println(err)
return
}
defer f.Close()
io.Copy(f, file)
fmt.Fprintln(w, "upload ok!")
}
下面是上传功能html5代码,input使用了multiple属性,支持多文件上传
const tpl = `<html>
<head>
<title>WEB文件管理</title>
</head>
<body>
<form enctype="multipart/form-data" action="/upload" method="post">
<input type="file" multiple name="uploadfile"/>
<input type="submit" value="上传" />
</form>
</body>
</html>`
-- 可视 -- 37 19,1 底端