|
@@ -7,163 +7,402 @@ import (
|
|
|
"github.com/minio/minio-go/v7"
|
|
|
"github.com/minio/minio-go/v7/pkg/credentials"
|
|
|
"log"
|
|
|
- "os"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
-func GetMinIOSTSToken() (item *Token, err error) {
|
|
|
-
|
|
|
- item = new(Token)
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- item.AccessKeyId = utils.MinIoAccessKeyId
|
|
|
- item.SecretKeyId = utils.MinIoAccessKeySecret
|
|
|
- item.Endpoint = utils.MinIoEndpoint
|
|
|
- item.ImgHost = utils.MinIoImghost
|
|
|
- item.Bucketname = utils.MinIoBucketname
|
|
|
- item.UseSSL = utils.MinIoUseSSL
|
|
|
- item.RegionId = utils.MinIoRegion
|
|
|
- item.Port = utils.MinIoPort
|
|
|
- return
|
|
|
-}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-type Token struct {
|
|
|
- AccessKeyId string
|
|
|
- SecretKeyId string
|
|
|
- RegionId string
|
|
|
- Bucketname string
|
|
|
- Endpoint string
|
|
|
- ImgHost string
|
|
|
- UseSSL string
|
|
|
- Port string
|
|
|
-}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-func UploadMinIo() {
|
|
|
- ctx := context.Background()
|
|
|
- endpoint := "8.136.199.33:9000/"
|
|
|
- accessKeyID := "LfQ8uiJiLP7vLxjRrmNW"
|
|
|
- secretAccessKey := "IszGVHsNicJMQxHC46cYFtbrOiapo0ynwOIJ6c2R"
|
|
|
- useSSL := false
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-
|
|
|
- minioClient, err := minio.New(endpoint, &minio.Options{
|
|
|
- Creds: credentials.NewStaticV4(accessKeyID, secretAccessKey, ""),
|
|
|
- Secure: useSSL,
|
|
|
- })
|
|
|
- if err != nil {
|
|
|
- log.Fatalln(err)
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-
|
|
|
- bucketName := "etastatic"
|
|
|
- location := "/"
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
- err = minioClient.MakeBucket(ctx, bucketName, minio.MakeBucketOptions{Region: location})
|
|
|
- if err != nil {
|
|
|
-
|
|
|
- exists, errBucketExists := minioClient.BucketExists(ctx, bucketName)
|
|
|
- if errBucketExists == nil && exists {
|
|
|
- log.Printf("We already own %s\n", bucketName)
|
|
|
- } else {
|
|
|
- log.Fatalln(err)
|
|
|
- }
|
|
|
- } else {
|
|
|
- log.Printf("Successfully created %s\n", bucketName)
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- objectName := "1111.xlsx"
|
|
|
- filePath := "/Users/xi/Desktop/1111.xlsx"
|
|
|
- contentType := "application/xlsx"
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-
|
|
|
- info, err := minioClient.FPutObject(ctx, bucketName, objectName, filePath, minio.PutObjectOptions{ContentType: contentType})
|
|
|
- if err != nil {
|
|
|
- log.Fatalln(err)
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
- log.Printf("Successfully uploaded %s of size %d\n", objectName, info.Size)
|
|
|
-}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-
|
|
|
-func UploadImgToMinIo(fileName, filePath string) (string, error) {
|
|
|
- if utils.MinIoAccessKeyId == `` || utils.MinIoAccessKeySecret == `` {
|
|
|
- return "0", errors.New("MinIo信息未配置")
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
- ctx := context.Background()
|
|
|
- endpoint := utils.MinIoEndpoint
|
|
|
- accessKeyID := utils.MinIoAccessKeyId
|
|
|
- secretAccessKey := utils.MinIoAccessKeySecret
|
|
|
- useSSL := false
|
|
|
- if utils.MinIoUseSSL == "true" {
|
|
|
- useSSL = true
|
|
|
- }
|
|
|
- minioClient, err := minio.New(endpoint, &minio.Options{
|
|
|
- Creds: credentials.NewStaticV4(accessKeyID, secretAccessKey, ""),
|
|
|
- Secure: useSSL,
|
|
|
- })
|
|
|
- if err != nil {
|
|
|
- log.Fatalln(err)
|
|
|
- return "1", err
|
|
|
- }
|
|
|
- bucketName := utils.MinIoBucketname
|
|
|
-
|
|
|
- exists, errBucketExists := minioClient.BucketExists(ctx, bucketName)
|
|
|
- if errBucketExists == nil && exists {
|
|
|
- log.Printf("We already own %s\n", bucketName)
|
|
|
- } else {
|
|
|
- log.Fatalln(err)
|
|
|
- return "2", err
|
|
|
- }
|
|
|
- path := utils.MinIoUploadDir + time.Now().Format("200601/20060102/")
|
|
|
- path += fileName
|
|
|
-
|
|
|
-
|
|
|
- _, err = minioClient.FPutObject(ctx, bucketName, path, filePath, minio.PutObjectOptions{})
|
|
|
- if err != nil {
|
|
|
- log.Fatalln(err)
|
|
|
- return "3", err
|
|
|
- }
|
|
|
-
|
|
|
- path = utils.MinIoImghost + path
|
|
|
- return path, err
|
|
|
-}
|
|
|
+type MinioOss struct{}
|
|
|
|
|
|
-
|
|
|
-func UploadAudioToMinIo(fileName, filePath string) (string, error) {
|
|
|
+
|
|
|
+func (m *MinioOss) UploadFile(fileName, filePath, savePath string) (string, error) {
|
|
|
if utils.MinIoAccessKeyId == `` || utils.MinIoAccessKeySecret == `` {
|
|
|
return "0", errors.New("MinIo信息未配置")
|
|
|
}
|
|
@@ -185,7 +424,6 @@ func UploadAudioToMinIo(fileName, filePath string) (string, error) {
|
|
|
return "1", err
|
|
|
}
|
|
|
bucketName := utils.MinIoBucketname
|
|
|
-
|
|
|
exists, errBucketExists := minioClient.BucketExists(ctx, bucketName)
|
|
|
if errBucketExists == nil && exists {
|
|
|
log.Printf("We already own %s\n", bucketName)
|
|
@@ -194,156 +432,27 @@ func UploadAudioToMinIo(fileName, filePath string) (string, error) {
|
|
|
return "2", err
|
|
|
}
|
|
|
|
|
|
- path := utils.MinIoUpload_Audio_Dir + time.Now().Format("200601/20060102/")
|
|
|
- path += fileName
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ path := savePath
|
|
|
+ if savePath == "" {
|
|
|
+ path = utils.MinIoUploadDir + time.Now().Format("200601/20060102/") + fileName
|
|
|
+ }
|
|
|
_, err = minioClient.FPutObject(ctx, bucketName, path, filePath, minio.PutObjectOptions{})
|
|
|
if err != nil {
|
|
|
log.Fatalln(err)
|
|
|
return "3", err
|
|
|
}
|
|
|
-
|
|
|
- path = utils.MinIoImghost + path
|
|
|
- return path, err
|
|
|
+ resourceUrl := utils.MinIoImghost + path
|
|
|
+ return resourceUrl, err
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-func UploadVideoToMinIo(filename, filePath, savePath string) error {
|
|
|
- if utils.MinIoAccessKeyId == `` || utils.MinIoAccessKeySecret == `` {
|
|
|
- return errors.New("MinIo信息未配置")
|
|
|
- }
|
|
|
- defer func() {
|
|
|
- os.Remove(filePath)
|
|
|
- }()
|
|
|
-
|
|
|
- ctx := context.Background()
|
|
|
- endpoint := utils.MinIoEndpoint
|
|
|
- accessKeyID := utils.MinIoAccessKeyId
|
|
|
- secretAccessKey := utils.MinIoAccessKeySecret
|
|
|
- useSSL := false
|
|
|
- if utils.MinIoUseSSL == "true" {
|
|
|
- useSSL = true
|
|
|
- }
|
|
|
- minioClient, err := minio.New(endpoint, &minio.Options{
|
|
|
- Creds: credentials.NewStaticV4(accessKeyID, secretAccessKey, ""),
|
|
|
- Secure: useSSL,
|
|
|
- })
|
|
|
- if err != nil {
|
|
|
- log.Fatalln(err)
|
|
|
- return err
|
|
|
- }
|
|
|
- bucketName := utils.MinIoBucketname
|
|
|
-
|
|
|
- exists, errBucketExists := minioClient.BucketExists(ctx, bucketName)
|
|
|
- if errBucketExists == nil && exists {
|
|
|
- log.Printf("We already own %s\n", bucketName)
|
|
|
- } else {
|
|
|
- log.Fatalln(err)
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- _, err = minioClient.FPutObject(ctx, bucketName, savePath, filePath, minio.PutObjectOptions{})
|
|
|
- if err != nil {
|
|
|
- log.Fatalln(err)
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- return err
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-func UploadFileToMinIo(filename, filePath, savePath string) error {
|
|
|
- if utils.MinIoAccessKeyId == `` || utils.MinIoAccessKeySecret == `` {
|
|
|
- return errors.New("MinIo信息未配置")
|
|
|
- }
|
|
|
- defer func() {
|
|
|
- os.Remove(filePath)
|
|
|
- }()
|
|
|
- ctx := context.Background()
|
|
|
- endpoint := utils.MinIoEndpoint
|
|
|
- accessKeyID := utils.MinIoAccessKeyId
|
|
|
- secretAccessKey := utils.MinIoAccessKeySecret
|
|
|
- useSSL := false
|
|
|
- if utils.MinIoUseSSL == "true" {
|
|
|
- useSSL = true
|
|
|
- }
|
|
|
- minioClient, err := minio.New(endpoint, &minio.Options{
|
|
|
- Creds: credentials.NewStaticV4(accessKeyID, secretAccessKey, ""),
|
|
|
- Secure: useSSL,
|
|
|
- })
|
|
|
- if err != nil {
|
|
|
- log.Fatalln(err)
|
|
|
- return err
|
|
|
- }
|
|
|
- bucketName := utils.MinIoBucketname
|
|
|
-
|
|
|
- exists, errBucketExists := minioClient.BucketExists(ctx, bucketName)
|
|
|
- if errBucketExists == nil && exists {
|
|
|
- log.Printf("We already own %s\n", bucketName)
|
|
|
- } else {
|
|
|
- log.Fatalln(err)
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- _, err = minioClient.FPutObject(ctx, bucketName, savePath, filePath, minio.PutObjectOptions{})
|
|
|
- if err != nil {
|
|
|
- log.Fatalln(err)
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- return err
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-func UploadMinIoToDir(filename, filePath, uploadDir, fileDir string) (string, error) {
|
|
|
- if utils.MinIoAccessKeyId == `` || utils.MinIoAccessKeySecret == `` {
|
|
|
- return "0", errors.New("MinIo信息未配置")
|
|
|
- }
|
|
|
- ctx := context.Background()
|
|
|
- endpoint := utils.MinIoEndpoint
|
|
|
- accessKeyID := utils.MinIoAccessKeyId
|
|
|
- secretAccessKey := utils.MinIoAccessKeySecret
|
|
|
- useSSL := false
|
|
|
- if utils.MinIoUseSSL == "true" {
|
|
|
- useSSL = true
|
|
|
- }
|
|
|
- minioClient, err := minio.New(endpoint, &minio.Options{
|
|
|
- Creds: credentials.NewStaticV4(accessKeyID, secretAccessKey, ""),
|
|
|
- Secure: useSSL,
|
|
|
- })
|
|
|
- if err != nil {
|
|
|
- log.Fatalln(err)
|
|
|
- return "1", err
|
|
|
- }
|
|
|
- bucketName := utils.MinIoBucketname
|
|
|
-
|
|
|
- exists, errBucketExists := minioClient.BucketExists(ctx, bucketName)
|
|
|
- if errBucketExists == nil && exists {
|
|
|
- log.Printf("We already own %s\n", bucketName)
|
|
|
- } else {
|
|
|
- log.Fatalln(err)
|
|
|
- return "2", err
|
|
|
- }
|
|
|
- if uploadDir == "" {
|
|
|
- uploadDir = utils.MinIoUploadDir
|
|
|
- }
|
|
|
- if fileDir == "" {
|
|
|
- fileDir = time.Now().Format("200601/20060102/")
|
|
|
- }
|
|
|
- path := uploadDir + fileDir
|
|
|
- path += filename
|
|
|
- _, err = minioClient.FPutObject(ctx, bucketName, path, filePath, minio.PutObjectOptions{})
|
|
|
- if err != nil {
|
|
|
- log.Fatalln(err)
|
|
|
- return "3", err
|
|
|
- }
|
|
|
- path = utils.MinIoImghost + path
|
|
|
- return path, err
|
|
|
+func (m *MinioOss) GetUploadToken() (token OssToken, err error) {
|
|
|
+ token.AccessKeyId = utils.MinIoAccessKeyId
|
|
|
+ token.SecretKeyId = utils.MinIoAccessKeySecret
|
|
|
+ token.Endpoint = utils.MinIoEndpoint
|
|
|
+ token.ImgHost = utils.MinIoImghost
|
|
|
+ token.Bucketname = utils.MinIoBucketname
|
|
|
+ token.UseSSL = utils.MinIoUseSSL
|
|
|
+ token.RegionId = utils.MinIoRegion
|
|
|
+ token.Port = utils.MinIoPort
|
|
|
+ return
|
|
|
}
|