使用golang怎么实现一个文件上传与下载功能

  介绍

本篇文章为大家展示了使用golang怎么实现一个文件上传与下载功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

上传。去

package 常见   import  (   ,“io/ioutil"   ,“os"   ,“path"   ,“;github.com/gin-gonic/gin"   ,“googo.co/goo"   ,“googo.co/utils"   )   const  (=,UPLOAD_DIR “静态/?   )   type  Upload  struct  {   }   func (却;能够上传),DoHandle (c  * gin.Context), * goo.Result  {   ,跳频,err :=, c.FormFile (“file")   ,if  err  !=, nil  {   return 才能;goo.Err(700年,“上传失败:“+ err.Error (),, err.Error ())   ,}   ,f, err :=, fh.Open ()   ,if  err  !=, nil  {   return 才能;goo.Err(701年,“上传失败:“+ err.Error (),, err.Error ())   ,}   ,defer  f.Close ()   ,字节,err :=, ioutil.ReadAll (f)   ,if  err  !=, nil  {   return 才能;goo.Err(702年,“上传失败:“+ err.Error (),, err.Error ())   ,}   ,md5File :=, utils.MD5(字节)   ,fpath :=, md5File (0:2), +,“/? +, md5File [2:4], +,“/?   ,if  err :=, os.MkdirAll (UPLOAD_DIR + fpath, 0755);, err  !=, nil  {   return 才能;goo.Err(703年,“上传失败:“+ err.Error (),, err.Error ())   ,}   ,fname :=, fpath  +, md5File(八24),+,path.Ext (fh.Filename)   弗兰克-威廉姆斯,大敌;err :=, os.Create(时间+ UPLOAD_DIR 帧)   ,if  err  !=, nil  {   return 才能;goo.Err(704年,“上传失败:“+ err.Error (),, err.Error ())   ,}   ,defer  fw.Close ()   ,if  _, err :=, fw.Write(字节);,err  !=, nil  {   return 才能;goo.Err(705年,“上传失败:“+ err.Error (),, err.Error ())   ,}   ,return  goo.Succ (gin.H {   “url"才能:,“/文件/?+,帧,   ,})   }
 

上述内容就是使用golang怎么实现一个文件上传与下载功能,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

使用golang怎么实现一个文件上传与下载功能