新手求指教

wfei · · 2388 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

源码 package main import "net/http" import "html/template" var uploadTemplate = template.MustParseFile("upload.html", nil) //var uploadTemplate = template.Must(template.ParseFiles("upload.html", nil)) func check(err os.Error) { if err != nil { panic(err) } } func upload(w http.ResponseWriter, r *http.Request) { uploadTemplate.Execute(w, nil) if r.Method != "POST" { uploadTemplate.Execute(w, nil) return } f, _, err := r.FormFile("image") // if err != nil { // http.Error(w, err.String(), 500) // return // } check(err) defer f.Close() t, err := ioutil.TempFile(".", "image-") // if err != nil { // http.Error(w, err.String(), 500) // return // } check(err) defer t.Close() _1, err := io.Copy(t, f) // if _, err := io.Copy(t, f); err != nil { // http.Error(w, err.String(), 500) // return // } check(err) http.Redirect(w, r, "/view?id="+t.Name()[6:], 302) } //var errorTemplate = template.MustParseFile("error.html", nil) var uploadTemplate = template.Must(template.ParseFiles("error.html")) func errorHandler(fn http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { defer func() { if e, ok := recover().(os.Error); ok { w.WriteHeader(500) errorTemplate.Execute(w, e) } }() fn(w, r) } } func view(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "image") http.ServeFile(w, r, "image-"+r.FormValue("id")) } func main() { http.HandleFunc("/", upload) http.HandleFunc("/", errorHandler(upload)) http.HandleFunc("/view", errorHandler(view)) http.ListenAndServe(":8080", nil) } 报错 ./upload.go:6: undefined: "html/template".MustParseFile ./upload.go:10: undefined: os in os.Error ./upload.go:31: undefined: ioutil in ioutil.TempFile ./upload.go:39: undefined: io in io.Copy ./upload.go:49: uploadTemplate redeclared in this block previous declaration at ./upload.go:6 ./upload.go:54: undefined: os in os.Error ./upload.go:56: undefined: errorTemplate in errorTemplate.Execute

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2388 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传