fix: k8s minio prefix

pull/1244/head
withchao 2 years ago
parent 883e55ed9c
commit 836eb42715

@ -87,7 +87,7 @@ func NewMinio() (s3.Interface, error) {
m.prefix = u.Path m.prefix = u.Path
u.Path = "" u.Path = ""
config.Config.Object.Minio.Endpoint = u.String() config.Config.Object.Minio.Endpoint = u.String()
m.bucketURL = config.Config.Object.Minio.Endpoint + "/" + config.Config.Object.Minio.Bucket + "/" m.signEndpoint = config.Config.Object.Minio.Endpoint
} else { } else {
su, err := url.Parse(config.Config.Object.Minio.SignEndpoint) su, err := url.Parse(config.Config.Object.Minio.SignEndpoint)
if err != nil { if err != nil {
@ -104,7 +104,7 @@ func NewMinio() (s3.Interface, error) {
m.prefix = su.Path m.prefix = su.Path
su.Path = "" su.Path = ""
config.Config.Object.Minio.SignEndpoint = su.String() config.Config.Object.Minio.SignEndpoint = su.String()
m.bucketURL = config.Config.Object.Minio.SignEndpoint + "/" + config.Config.Object.Minio.Bucket + "/" m.signEndpoint = config.Config.Object.Minio.SignEndpoint
} }
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel() defer cancel()
@ -116,7 +116,7 @@ func NewMinio() (s3.Interface, error) {
type Minio struct { type Minio struct {
bucket string bucket string
bucketURL string signEndpoint string
location string location string
opts *minio.Options opts *minio.Options
core *minio.Core core *minio.Core
@ -265,9 +265,9 @@ func (m *Minio) AuthSign(ctx context.Context, uploadID string, name string, expi
Parts: make([]s3.SignPart, len(partNumbers)), Parts: make([]s3.SignPart, len(partNumbers)),
} }
if m.prefix == "" { if m.prefix == "" {
result.URL = m.bucketURL + name result.URL = m.signEndpoint + "/" + m.bucket + "/" + name
} else { } else {
result.URL = m.bucketURL + path.Join(m.prefix[1:], name) result.URL = m.signEndpoint + m.prefix + "/" + m.bucket + "/" + name
} }
for i, partNumber := range partNumbers { for i, partNumber := range partNumbers {
rawURL := result.URL + "?partNumber=" + strconv.Itoa(partNumber) + "&uploadId=" + uploadID rawURL := result.URL + "?partNumber=" + strconv.Itoa(partNumber) + "&uploadId=" + uploadID
@ -279,7 +279,7 @@ func (m *Minio) AuthSign(ctx context.Context, uploadID string, name string, expi
request = signer.SignV4Trailer(*request, creds.AccessKeyID, creds.SecretAccessKey, creds.SessionToken, m.location, nil) request = signer.SignV4Trailer(*request, creds.AccessKeyID, creds.SecretAccessKey, creds.SessionToken, m.location, nil)
result.Parts[i] = s3.SignPart{ result.Parts[i] = s3.SignPart{
PartNumber: partNumber, PartNumber: partNumber,
URL: request.URL.String(), //URL: request.URL.String(),
Query: url.Values{"partNumber": {strconv.Itoa(partNumber)}}, Query: url.Values{"partNumber": {strconv.Itoa(partNumber)}},
Header: request.Header, Header: request.Header,
} }

Loading…
Cancel
Save