:new:初始化脚本以及一些工具类
This commit is contained in:
41
utils/file_system.go
Normal file
41
utils/file_system.go
Normal file
@@ -0,0 +1,41 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"time"
|
||||
"wireguard-dashboard/client"
|
||||
"wireguard-dashboard/config"
|
||||
)
|
||||
|
||||
type fileSystem struct{}
|
||||
|
||||
func FileSystem() fileSystem {
|
||||
return fileSystem{}
|
||||
}
|
||||
|
||||
// UploadFile
|
||||
// @description: 上传文件
|
||||
// @receiver fileSystem
|
||||
// @param file
|
||||
// @return filePath
|
||||
// @return err
|
||||
func (fileSystem) UploadFile(file []byte, suffix string) (filePath string, err error) {
|
||||
switch config.Config.File.Type {
|
||||
case "oss":
|
||||
ossObj, err := client.OSS.Put(config.Config.File.Path, file, suffix)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return ossObj.LongPath, nil
|
||||
case "local":
|
||||
filePath = fmt.Sprintf("%v/%d-avatar%s", config.Config.File.Path, time.Now().Unix(), suffix)
|
||||
if err = os.WriteFile(filePath, file, os.FileMode(0777)); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return filePath, nil
|
||||
}
|
||||
return "", nil
|
||||
}
|
||||
Reference in New Issue
Block a user