Golang gin框架上传图片

package main

import (
    "github.com/gin-gonic/gin"
)
func main() {
    gin.SetMode(gin.DebugMode)
    router := gin.Default()
    router.POST("/upload", UploadImage)
    router.POST("/uploads", UploadImages)
    router.Run(":8005")
}

//单张图片上传
func UploadImage(c *gin.Context) {

    file, _ := c.FormFile("file")
    name := c.PostForm("user_id")

    //filename := file.Filename
    filename := name + ".png"
    if err := c.SaveUploadedFile(file, "/Users/zh/ImageServer/"+filename); err != nil {

  //自己完成信息提示
        return
    }
    c.String(200, "Success")
}

//多张图片上传
func UploadImages(c *gin.Context) {
    c.Request.ParseMultipartForm(32 << 20)
    //获取所有上传文件信息
    fhs := c.Request.MultipartForm.File["file"]

    uid := c.Request.FormValue("user_id")
    uploadDir := "/Users/zh/ImageServer/" + uid
    err := os.MkdirAll(uploadDir, 0777)
    if err != nil {
        return
    }
    var i = 0
    for _, fheader := range fhs {
        i++
        newFileName := strconv.Itoa(i) + ".png"
        if err := c.SaveUploadedFile(fheader, uploadDir+"/"+newFileName); err != nil {

。       //自己完成信息提示
            return
        }

    }
    c.String(200, "success")
}

你可能感兴趣的:(Golang)