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上传文件的主要内容,如果未能解决你的问题,请参考以下文章

Gin框架上传文件

Gin文件上传只需几行代码

Gin文件上传只需几行代码

Gin文件上传只需几行代码

Gin简单明了的教程---下

#yyds干货盘点# Golang Gin 框架上传介绍