Gin框架之文件上传

2021-04-14 04:26

阅读:455

YPE html>

标签:else   main   val   dex   dht   最大   json   保存   fun   

一、单文件上传

前端代码

 1 
 2 "zh-CN">
 3 4     上传文件示例 5 
 6 
 7 
"/uploadfiles" method="post" enctype="multipart/form-data"> 8 "file" name="f1"> 9 "submit" value="上传"> 10
11 12

后端代码

 1 func main() {
 2     //创建默认的引擎
 3     r := gin.Default()
 4     //告诉gin框架去哪加载讲台文件 此处可以使用正则表达式
 5     r.LoadHTMLGlob("views/index.html")
 6     //get请求返回显示页面 index.html
 7     r.GET("/index", func(c *gin.Context) {
 8         c.HTML(http.StatusOK, "index.html", nil)
 9     })
10     //创建请求 当访问地址为/uploadfile时执行后面的函数
11     r.POST("/uploadfile", func(c *gin.Context) {
12         //获取表单数据 参数为name值
13         f, err := c.FormFile("f1")
14         //错误处理
15         if err != nil {
16             c.JSON(http.StatusBadRequest, gin.H{
17                 "error": err,
18             })
19             return
20         } else {
21             //将文件保存至本项目根目录中
22             c.SaveUploadedFile(f, f.Filename)
23             //保存成功返回正确的Json数据
24             c.JSON(http.StatusOK, gin.H{
25                 "message": "OK",
26             })
27         }
28     
29     })
30     //运行 默认为80端口
31     r.Run()
32 }

二、多文件上传

前端代码

 1 
 2 "zh-CN">
 3  4     上传文件示例 5 
 6 
 7 
"/uploadfiles" method="post" enctype="multipart/form-data"> 8 "file" name="f1s"> 9 "file" name="f1s"> 10 "submit" value="上传"> 11
12 13

后端代码

 1 //多文件上传
 2     r:=gin.Default()
 3     r.LoadHTMLGlob("views/index.html")
 4     r.MaxMultipartMemory = 8 20  // 8 MiB 设置最大的上传文件的大小
 5     r.GET("/index", func(c *gin.Context) {
 6         c.HTML(http.StatusOK,"index.html",nil)
 7     })
 8     r.POST("/uploadfiles", func(c *gin.Context) {
 9         form,err:=c.MultipartForm()
10         files:=form.File["f1s"]
11         //错误处理
12         if err != nil {
13             c.JSON(http.StatusBadRequest, gin.H{
14                 "error": err,
15             })
16             return
17         }
18         for _,f:=range files{
19             fmt.Println(f.Filename)
20             c.SaveUploadedFile(f,f.Filename)
21         }
22         c.JSON(http.StatusOK, gin.H{
23             "message": "OK",
24         })
25     })
26     r.Run()

运行:go run main.go

访问地址:http://127.0.0.1:8080/index

Gin框架之文件上传

标签:else   main   val   dex   dht   最大   json   保存   fun   

原文地址:https://www.cnblogs.com/yh2924/p/12377309.html


评论


亲,登录后才可以留言!