mirror of
https://github.com/cloudreve/Cloudreve.git
synced 2025-12-26 00:12:50 +00:00
fix(oss): traffic limit should be in query instead of headers (#2977)
This commit is contained in:
parent
e29237d593
commit
21cdafb2af
|
|
@ -65,8 +65,11 @@ type Driver struct {
|
||||||
type key int
|
type key int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
chunkRetrySleep = time.Duration(5) * time.Second
|
chunkRetrySleep = time.Duration(5) * time.Second
|
||||||
maxDeleteBatch = 1000
|
maxDeleteBatch = 1000
|
||||||
|
completeAllHeader = "x-oss-complete-all"
|
||||||
|
forbidOverwriteHeader = "x-oss-forbid-overwrite"
|
||||||
|
trafficLimitHeader = "x-oss-traffic-limit"
|
||||||
|
|
||||||
// MultiPartUploadThreshold 服务端使用分片上传的阈值
|
// MultiPartUploadThreshold 服务端使用分片上传的阈值
|
||||||
MultiPartUploadThreshold int64 = 5 * (1 << 30) // 5GB
|
MultiPartUploadThreshold int64 = 5 * (1 << 30) // 5GB
|
||||||
|
|
@ -427,7 +430,9 @@ func (handler *Driver) Source(ctx context.Context, e fs.Entity, args *driver.Get
|
||||||
if args.Speed > 838860800 {
|
if args.Speed > 838860800 {
|
||||||
args.Speed = 838860800
|
args.Speed = 838860800
|
||||||
}
|
}
|
||||||
req.TrafficLimit = args.Speed
|
req.Parameters = map[string]string{
|
||||||
|
trafficLimitHeader: strconv.FormatInt(args.Speed, 10),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return handler.signSourceURL(ctx, e.Source(), args.Expire, req, false)
|
return handler.signSourceURL(ctx, e.Source(), args.Expire, req, false)
|
||||||
|
|
@ -464,7 +469,7 @@ func (handler *Driver) signSourceURL(ctx context.Context, path string, expire *t
|
||||||
query.Del("OSSAccessKeyId")
|
query.Del("OSSAccessKeyId")
|
||||||
query.Del("Signature")
|
query.Del("Signature")
|
||||||
query.Del("response-content-disposition")
|
query.Del("response-content-disposition")
|
||||||
query.Del("x-oss-traffic-limit")
|
query.Del(trafficLimitHeader)
|
||||||
finalURL.RawQuery = query.Encode()
|
finalURL.RawQuery = query.Encode()
|
||||||
}
|
}
|
||||||
return finalURL.String(), nil
|
return finalURL.String(), nil
|
||||||
|
|
@ -554,9 +559,9 @@ func (handler *Driver) Token(ctx context.Context, uploadSession *fs.UploadSessio
|
||||||
"callback": callbackPolicyEncoded,
|
"callback": callbackPolicyEncoded,
|
||||||
},
|
},
|
||||||
Headers: map[string]string{
|
Headers: map[string]string{
|
||||||
"Content-Type": "application/octet-stream",
|
"Content-Type": "application/octet-stream",
|
||||||
"x-oss-complete-all": "yes",
|
completeAllHeader: "yes",
|
||||||
"x-oss-forbid-overwrite": "true",
|
forbidOverwriteHeader: "true",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}, oss.PresignExpires(ttl))
|
}, oss.PresignExpires(ttl))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue