Gin单文件上传以及多文件上传

Gin单文件上传以及多文件上传

1 单文件上传

func main() {
    router := gin.Default()
    // 为 multipart forms 设置较低的内存限制 (默认是 32 MiB)
    // router.MaxMultipartMemory = 8 << 20  // 8 MiB
    router.POST("/upload", func(c *gin.Context) {
        file, _ := c.FormFile("file")
        fmt.Println(file.Filename)
        dst := path.Join('./static/upload',file.Filename) // 路径
        // 上传文件至指定目录
        c.SaveUploadedFile(file, dst)
        }
        c.String(http.StatusOK, fmt.Sprintf("%v files uploaded!",file.Filename ))
    })
    router.Run(":8000")
}

2 多文件

func main() {
    router := gin.Default()
    // 为 multipart forms 设置较低的内存限制 (默认是 32 MiB)
    // router.MaxMultipartMemory = 8 << 20  // 8 MiB
    router.POST("/upload", func(c *gin.Context) {
        // Multipart form
        form, _ := c.MultipartForm()
        files := form.File["upload[]"]

        for _, file := range files {
            log.Println(file.Filename)
		   dst := path.Join('./static/upload',file.Filename) // 路径
            // 上传文件至指定目录
            c.SaveUploadedFile(file, dst)
        }
        c.String(http.StatusOK, fmt.Sprintf("%d files uploaded!", len(files)))
    })
    router.Run(":8000")
}

3 注意

/*
	不管是上面样的上传都需要注意
	在请求头加上
	Content-Type: multipart/form-data
*/
posted @ 2024-01-17 11:01  春游去动物园  阅读(119)  评论(0编辑  收藏  举报