go 语言 Gin框架 文件上传的两种方式

mac2026-06-15  13

第一种:  

package main import "github.com/gin-gonic/gin" import "net/http" import "fmt" func main() { router := gin.Default() // 给表单限制上传大小 (默认 32 MiB) // router.MaxMultipartMemory = 8 << 20 // 8 MiB router.POST("/upload", func(c *gin.Context) { // 单文件 file, _ := c.FormFile("file") //log.Println(file.Filename) // 上传文件到指定的路径 c.SaveUploadedFile(file, file.Filename) c.String(http.StatusOK, fmt.Sprintf("'%s' uploaded!", file.Filename)) }) router.Run(":8080") }

第二种:

package main import "github.com/gin-gonic/gin" import "net/http" import "fmt" import "log" import "os" import "io" func main() { router := gin.Default() // 给表单限制上传大小 (默认 32 MiB) // router.MaxMultipartMemory = 8 << 20 // 8 MiB router.POST("/upload",func(c *gin.Context) { file, header , err := c.Request.FormFile("upload") filename := header.Filename fmt.Println(header.Filename) out, err := os.Create("./file/"+filename) if err != nil { log.Fatal(err) } defer out.Close() _, err = io.Copy(out, file) if err != nil { log.Fatal(err) } c.String(http.StatusOK, fmt.Sprintf("'%s' uploaded!", filename)) }) router.Run(":8080") }

 

最新回复(0)