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
*/
标签:文件,MaxMultipartMemory,multipart,Gin,router,上传
From: https://www.cnblogs.com/chunyouqudongwuyuan/p/17969505