|
@@ -46,7 +46,8 @@ type OssToken struct {
|
|
//RegionId string
|
|
//RegionId string
|
|
//Bucketname string
|
|
//Bucketname string
|
|
//Endpoint string
|
|
//Endpoint string
|
|
- Imghost string
|
|
|
|
|
|
+ Imghost string
|
|
|
|
+ S3ForceStyle bool
|
|
}
|
|
}
|
|
|
|
|
|
type S3Oss struct{}
|
|
type S3Oss struct{}
|
|
@@ -65,13 +66,18 @@ func (m *S3Oss) UploadFile(fileName, localFile, savePath string) (resourceUrl st
|
|
bucketName := utils.S3BucketName
|
|
bucketName := utils.S3BucketName
|
|
uploadDir := utils.S3UploadDir
|
|
uploadDir := utils.S3UploadDir
|
|
resourceHost := utils.S3Host
|
|
resourceHost := utils.S3Host
|
|
|
|
+ forceStyle := utils.S3ForceStyle
|
|
|
|
+ hostStyle := true // 默认true, 使用`endpoint/bucket_name`这种HOST格式
|
|
|
|
+ if forceStyle == "false" {
|
|
|
|
+ hostStyle = false
|
|
|
|
+ }
|
|
|
|
|
|
// 创建AWS会话
|
|
// 创建AWS会话
|
|
sess, e := session.NewSession(&aws.Config{
|
|
sess, e := session.NewSession(&aws.Config{
|
|
Region: aws.String(region),
|
|
Region: aws.String(region),
|
|
Credentials: credentials.NewStaticCredentials(accessKey, secretKey, ""),
|
|
Credentials: credentials.NewStaticCredentials(accessKey, secretKey, ""),
|
|
Endpoint: aws.String(endpoint),
|
|
Endpoint: aws.String(endpoint),
|
|
- S3ForcePathStyle: aws.Bool(false),
|
|
|
|
|
|
+ S3ForcePathStyle: aws.Bool(hostStyle),
|
|
})
|
|
})
|
|
if e != nil {
|
|
if e != nil {
|
|
err = fmt.Errorf("new session err: %s", e.Error())
|
|
err = fmt.Errorf("new session err: %s", e.Error())
|
|
@@ -102,16 +108,21 @@ func (m *S3Oss) UploadFile(fileName, localFile, savePath string) (resourceUrl st
|
|
return
|
|
return
|
|
}
|
|
}
|
|
resourceUrl = resourceHost + path
|
|
resourceUrl = resourceHost + path
|
|
- fmt.Println(resourceUrl)
|
|
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
func (m *S3Oss) GetUploadToken() (token OssToken, err error) {
|
|
func (m *S3Oss) GetUploadToken() (token OssToken, err error) {
|
|
- token.Endpoint = utils.Endpoint
|
|
|
|
|
|
+ token.Endpoint = utils.S3Endpoint
|
|
token.AccessKeyId = utils.S3AccessKeyId
|
|
token.AccessKeyId = utils.S3AccessKeyId
|
|
token.AccessKeySecret = utils.S3AccessKeySecret
|
|
token.AccessKeySecret = utils.S3AccessKeySecret
|
|
token.RegionId = utils.S3Region
|
|
token.RegionId = utils.S3Region
|
|
- token.Bucketname = utils.Bucketname
|
|
|
|
|
|
+ token.Bucketname = utils.S3BucketName
|
|
token.ImgHost = utils.S3Host
|
|
token.ImgHost = utils.S3Host
|
|
|
|
+ token.Port = utils.S3EndpointPort
|
|
|
|
+ hostStyle := true // 默认true, 使用`endpoint/bucket_name`这种HOST格式
|
|
|
|
+ if utils.S3ForceStyle == "false" {
|
|
|
|
+ hostStyle = false
|
|
|
|
+ }
|
|
|
|
+ token.S3ForceStyle = hostStyle
|
|
return
|
|
return
|
|
}
|
|
}
|