从目录上看,代码的内容非常简单。picture.go包含了所有的交互代码,list.html和upload.html则包含了使用到的模板文件,而uploads目录则保存了所有上传的image文件。
1.picture.go代码内容:
package main
import "io"
import "log"
import "os"
import "net/http"
import "html/template"
import "io/ioutil"
const (
UPLOAD_DIR = "./uploads"
)
func uploadHandler (w http.ResponseWriter, r * http.Request) {
if r.Method == "GET" {
t, _ := template.ParseFiles("upload.html")
t.Execute(w, nil)
}else {
f, h, _ := r.FormFile("image")
filename := h.Filename
defer f.Close()
t, _ := os.Create(UPLOAD_DIR + "/" + filename)
defer t.Close()
_, err := io.Copy(t, f)
if err !&#