feat: add azure storage support (#735)

* feat: add zure storage support

* Update local_file_system.go

Co-authored-by: Gucheng <85475922+nomeguy@users.noreply.github.com>
This commit is contained in:
leoshine
2022-05-03 17:59:07 +08:00
committed by GitHub
parent c4089eacb7
commit 78efc9c2d0
9 changed files with 104 additions and 28 deletions

View File

@ -15,8 +15,8 @@
package storage
import (
"github.com/qor/oss"
"github.com/qor/oss/aliyun"
"github.com/casdoor/oss"
"github.com/casdoor/oss/aliyun"
)
func NewAliyunOssStorageProvider(clientId string, clientSecret string, region string, bucket string, endpoint string) oss.StorageInterface {

View File

@ -16,8 +16,8 @@ package storage
import (
awss3 "github.com/aws/aws-sdk-go/service/s3"
"github.com/qor/oss"
"github.com/qor/oss/s3"
"github.com/casdoor/oss"
"github.com/casdoor/oss/s3"
)
func NewAwsS3StorageProvider(clientId string, clientSecret string, region string, bucket string, endpoint string) oss.StorageInterface {

31
storage/azure.go Normal file
View File

@ -0,0 +1,31 @@
// Copyright 2021 The Casdoor Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package storage
import (
"github.com/casdoor/oss"
"github.com/casdoor/oss/azureblob"
)
func NewAzureBlobStorageProvider(clientId string, clientSecret string, region string, bucket string, endpoint string) oss.StorageInterface {
sp := azureblob.New(&azureblob.Config{
AccessId: clientId,
AccessKey: clientSecret,
Region: region,
Bucket: bucket,
Endpoint: endpoint,
})
return sp
}

View File

@ -20,7 +20,7 @@ import (
"path/filepath"
"strings"
"github.com/qor/oss"
"github.com/casdoor/oss"
)
var baseFolder = "files"

View File

@ -14,7 +14,7 @@
package storage
import "github.com/qor/oss"
import "github.com/casdoor/oss"
func GetStorageProvider(providerType string, clientId string, clientSecret string, region string, bucket string, endpoint string) oss.StorageInterface {
switch providerType {
@ -26,6 +26,8 @@ func GetStorageProvider(providerType string, clientId string, clientSecret strin
return NewAliyunOssStorageProvider(clientId, clientSecret, region, bucket, endpoint)
case "Tencent Cloud COS":
return NewTencentCloudCosStorageProvider(clientId, clientSecret, region, bucket, endpoint)
case "Azure Blob":
return NewAzureBlobStorageProvider(clientId, clientSecret, region, bucket, endpoint)
}
return nil

View File

@ -15,8 +15,8 @@
package storage
import (
"github.com/qor/oss"
"github.com/qor/oss/tencent"
"github.com/casdoor/oss"
"github.com/casdoor/oss/tencent"
)
func NewTencentCloudCosStorageProvider(clientId string, clientSecret string, region string, bucket string, endpoint string) oss.StorageInterface {