天天看點

go gin 上傳檔案 目錄不存在 建立目錄

package corll

import (
    "fmt"
    "github.com/gin-gonic/gin"
    "io"
    "log"
    "net/http"
    "os"
)

/* upload file */
func Uploadfile(g*gin.Context)  {
    fmt.Println("......uploadfile")
    file, header, err := g.Request.FormFile("file")
    if err==nil{
        fmt.Println("...",file)
        filename:=header.Filename
        fmt.Println(file, err, filename)

        var uploadir string
        uploadir="upload/11/"
        _, err:=os.Stat(uploadir)
        if os.IsNotExist(err) {
            os.Mkdir(uploadir, os.ModePerm)
        }
        //建立檔案
        out, err := os.Create(uploadir+filename)
        
        if err != nil {
            log.Fatal(err)
        }
        defer out.Close()

        _, err = io.Copy(out,file)
        if err != nil {
            log.Fatal(err)
        }
        rsp :=new(Rsp)
        rsp.Msg="success"
        rsp.Code=200
        g.JSON(http.StatusOK,rsp)
        return
    }else {
        fmt.Println("..err..",err)
    }
}