首页>>后端>>Golang->Gin框架静态文件&上传文件

Gin框架静态文件&上传文件

时间:2023-11-29 本站 点击:0

一、静态文件

在工程目录下创建Assets文件夹,放入一些图片,如下

root@ubuntu:/SuperxonWebSite#tree.├──assets│├──golang.jpeg│├──favicon.ico│└──img│└──web后端.png└──mian.go

静态文件是指服务器上的静态资源,如音频、图片、文本、脚本等等,为了让静态文件可以被用户直接访问,Gin框架有三种函数实现:

packagemainimport("github.com/gin-gonic/gin")funcmain(){r:=gin.Default()//①r.Static("/assets","./assets")//②//r.StaticFS("/assets",http.Dir("assets"))//③r.StaticFile("/favicon.ico","./assets/favicon.ico")r.Run(":8080")}

①.访问http://localhost:8080/assets/golang.jpeg,就能访问到golang.jpeg;它能够用来访问assets文件下的所有文件;

②.同①的功能类似,但是有个特别的功能就是访问http://localhost:8080/assets/img/时,能够直接展示出img下的所有文件;

③.访问http://localhost:8080/favicon.ico,能直接访问到相应文件,

二、上传文件

上传单个文件

packagemainimport("fmt""github.com/gin-gonic/gin""net/http")funcmain(){r:=gin.Default()r.POST("/upload_one",func(c*gin.Context){file,err:=c.FormFile("test_file")iferr!=nil{c.JSON(http.StatusInternalServerError,gin.H{"message":err.Error(),})return}fmt.Println(file.Filename)//上传文件到指定的目录_=c.SaveUploadedFile(file,"./assets/"+file.Filename)c.JSON(http.StatusOK,gin.H{"message":fmt.Sprintf("'%s'uploadsuccess.",file.Filename),})})_=r.Run(":8080")}

上传文件做测试可以通过postman进行,成功之后可以看到assets文件夹下多了上传的文件

上传多个文件

和单个文件类似,用MultipartForm提前做个处理,postman中选择多个文件

funcmain(){r:=gin.Default()r.POST("/upload_files",func(c*gin.Context){//单个文件form,_:=c.MultipartForm()files:=form.File["test_files"]for_,file:=rangefiles{//上传文件到指定的目录_=c.SaveUploadedFile(file,"./assets/"+file.Filename)}c.JSON(http.StatusOK,gin.H{"message":fmt.Sprintf("filesuploadsuccess."),})})_=r.Run(":8080")}

作者:小小小丶叶子著作权归作者所有。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Golang/228.html