Go实现图片上传
来源:互联网 发布:nginx 在线人数统计 编辑:程序博客网 时间:2024/06/01 08:38
先写个大概的前端页面:
<div class="result-title"> <h1>上传图片</h1> </div> <div class="result-content"> <form method="POST" action="/gallery" enctype="multipart/form-data"> <h2>选择一张图片上传</h2> <input name="image" type="file"> <input type="submit" value="上传"> </form> </div>
接着是服务端代码:
//照片管理func gallery(w http.ResponseWriter, r *http.Request){ //前面这些是我用于判断用户登录用的cookies cookieskey := "xulogin"+r.Host cookieskey = strings.Replace(cookieskey,".","z",-1) cookieskey = strings.Replace(cookieskey,":","x",-1) cookie, err := r.Cookie(cookieskey) if err != nil || cookie.Value == "" || cookies.CookiesMap[cookieskey].Cookievalue == "" || cookies.CookiesMap[cookieskey].Cookievalue != cookie.Value{ http.Redirect(w, r, "/login", http.StatusFound) return }else if cookies.CookiesMap[cookieskey].Cookievalue != "" && cookies.CookiesMap[cookieskey].Cookievalue == cookie.Value{ if r.Method == "GET"{ //如果是GET请求,往浏览器发送模板gallery.html,也就是前面写的前端页面 t, _ := template.ParseFiles("static/admin/gallery.html") t.Execute(w, nil) } //在用户上传完图片点提交后,会向服务端发送POST请求,然后就执行下面的代码 if r.Method == "POST"{ //设置上传路径 UploadPath := "./static/images" //获取名为image的文件 file, handler, err := r.FormFile("image") if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } filename := handler.Filename defer file.Close() //创建文件 t, err := os.Create(UploadPath + "/" + filename) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } defer t.Close() //将上传的文件拷贝至所创建的文件中 if _, err := io.Copy(t, file); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } io.WriteString(w, "Upload Success!") } }}
0 0
- Go实现图片上传
- Go图片上传
- GO语言实现文件上传
- go实现抓妹子图片
- 上传图片,实现图片预览
- 上传图片实现图片预览
- 图片上传的实现
- ASP实现图片上传
- ASP实现图片上传
- 实现图片上传预览
- JSP实现图片上传
- Struts实现图片上传
- JSP实现图片上传
- Struts:实现图片上传
- 多图片上传实现
- PHP实现图片上传
- php 实现图片上传
- socket实现图片上传
- 基于ssh框架的Erp项目总结第一天-配置文件的说明
- 一个带指示器的引导页(ViewPager)
- iOS开发人员必知的iOS 10 七大新特性
- stm32 SWD printf SWD调试输出
- Android 6.0 运行时权限处理
- Go实现图片上传
- TCP/IP传输层,你懂多少?
- static、final、接口、抽象类互相结合时的细节问题总结
- UVA 12716
- CSS基础入门
- Qt中为工程添加资源文件、给按钮添加图片
- 源码-JavaScript&jQuery交互式前端开发-第2章-JavaScript基础指令-使用变量来存储布尔值
- Spring Scope与Lazy
- stm32 使用malloc申请内存和free释放内存造成的内存碎片测试