diff --git a/object.go b/object.go index 4c8ba2c..4a3aeda 100644 --- a/object.go +++ b/object.go @@ -686,6 +686,7 @@ type ObjectDeleteOptions struct { XCosSSECustomerKeyMD5 string `header:"x-cos-server-side-encryption-customer-key-MD5,omitempty" url:"-" xml:"-"` //兼容其他自定义头部 XOptionHeader *http.Header `header:"-,omitempty" url:"-" xml:"-"` + XOptionQuery *url.Values `header:"-" url:"-" xml:"-"` VersionId string `header:"-" url:"VersionId,omitempty" xml:"-"` } @@ -705,10 +706,14 @@ func (s *ObjectService) Delete(ctx context.Context, name string, opt ...*ObjectD if len(opt) > 0 { optHeader = opt[0] } + uri := "/" + encodeURIComponent(name) + if optHeader != nil && optHeader.XOptionQuery != nil { + uri = uri + "?" + optHeader.XOptionQuery.Encode() + } sendOpt := sendOptions{ baseURL: s.client.BaseURL.BucketURL, - uri: "/" + encodeURIComponent(name), + uri: uri, method: http.MethodDelete, optHeader: optHeader, optQuery: optHeader,