gin上传文件
Posted issue是fw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gin上传文件相关的知识,希望对你有一定的参考价值。
上传单个文件
前端代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="f1">
<input type="submit" value="上传">
</form>
</body>
</html>
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
func main()
r := gin.Default()
r.LoadHTMLFiles("./upload.html")
r.GET("/upload",func(c *gin.Context)
c.HTML(http.StatusOK,"upload.html",nil)
)
r.POST("/upload",func(c *gin.Context)
f,err := c.FormFile("f1")
if err != nil
c.JSON(http.StatusBadRequest,gin.H
"error":err.Error(),
)
else
//将读取到的文件保存到本地
dst := fmt.Sprintf("./%s",f.Filename)//dst表示上传路径
c.SaveUploadedFile(f,dst )
)
r.Run()
上传多个文件
先把html
中的上传按钮改为
<input type="file" name="f1" multiple="multiple">
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
func main()
r := gin.Default()
r.LoadHTMLFiles("./upload.html")
r.GET("/upload",func(c *gin.Context)
c.HTML(http.StatusOK,"upload.html",nil)
)
r.POST("/upload",func(c *gin.Context)
form,_ := c.MultipartForm()
files := form.File["f1"]
for _,file := range files
dst := fmt.Sprintf("./%s",file.Filename)
c.SaveUploadedFile(file,dst )
)
r.Run()
以上是关于gin上传文件的主要内容,如果未能解决你的问题,请参考以下文章