1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package utils
- import (
- "gin-vue-admin/global"
- "io"
- "mime/multipart"
- "os"
- "path"
- "strings"
- "time"
- )
- func UploadFileLocal(file *multipart.FileHeader) (err error, localPath string, key string) {
-
- ext := path.Ext(file.Filename)
-
- fileName := strings.TrimSuffix(file.Filename, ext)
- fileName = MD5V([]byte(fileName))
-
- lastName := fileName + "_" + time.Now().Format("20060102150405") + ext
-
- savePath := global.GVA_CONFIG.LocalUpload.FilePath
-
- err = os.MkdirAll(savePath, os.ModePerm)
- if err != nil{
- global.GVA_LOG.Error("upload local file fail:", err)
- return err, "", ""
- }
-
- dst := savePath + "/" + lastName
-
-
- src, err := file.Open()
- if err != nil {
- global.GVA_LOG.Error("upload local file fail:", err)
- return err, "", ""
- }
- defer src.Close()
-
- out, err := os.Create(dst)
- if err != nil {
- global.GVA_LOG.Error("upload local file fail:", err)
- return err, "", ""
- }
- defer out.Close()
-
- _, err = io.Copy(out, src)
- if err != nil {
- global.GVA_LOG.Error("upload local file fail:", err)
- return err, "", ""
- }
- return nil, dst, lastName
- }
|