| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package file_server
- import (
- "errors"
- "log"
- "sync"
- )
- var ErrMinioInit = errors.New("MINIO初始化失败")
- var (
- minioServerPool *sync.Pool
- defaultFileBucket = "file"
- defaultIconBucket = "icon"
- defaultLocation = "us-east-1"
- )
- var defaultConfig = &MinioConfig{
- EndPoint: "114.116.19.14:9000",
- AccessKey: "root",
- SecretKey: "Houyaf1!",
- UseSSL: false,
- }
- func init() {
- minioServerPool = &sync.Pool{
- New: func() interface{} {
- return &MinioServe{}
- },
- }
- }
- type DestFile struct {
- FileName string
- FileUrl string
- FileSize int64
- FileExt string
- FileMimeType string
- }
- func acquireMinioServer() *MinioServe {
- return minioServerPool.Get().(*MinioServe)
- }
- func releaseMinioServer(m *MinioServe) {
- m.Reset()
- minioServerPool.Put(m)
- }
- func UploadFileToMinio(fileName, filePath string) (*DestFile, error) {
- m := acquireMinioServer()
- client, err := defaultConfig.getClient()
- if err != nil {
- log.Fatal(ErrMinioInit)
- return nil, err
- }
- defer func() {
- releaseMinioServer(m)
- }()
- m.Client = client
- return m.uploadFile(fileName, filePath)
- }
|