Explorar o código

return response as io.ReadCloser

hangzws %!s(int64=7) %!d(string=hai) anos
pai
achega
df4a14804e
Modificáronse 2 ficheiros con 12 adicións e 4 borrados
  1. 4 4
      oss/bucket.go
  2. 8 0
      oss/model.go

+ 4 - 4
oss/bucket.go

@@ -129,7 +129,7 @@ func (bucket Bucket) GetObject(objectKey string, options ...Option) (io.ReadClos
 		return nil, err
 	}
 
-	return result.Response.Body, nil
+	return result.Response, nil
 }
 
 // GetObjectToFile downloads the data to a local file.
@@ -148,7 +148,7 @@ func (bucket Bucket) GetObjectToFile(objectKey, filePath string, options ...Opti
 	if err != nil {
 		return err
 	}
-	defer result.Response.Body.Close()
+	defer result.Response.Close()
 
 	// If the local file does not exist, create a new one. If it exists, overwrite it.
 	fd, err := os.OpenFile(tempFilePath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, FilePermMode)
@@ -803,7 +803,7 @@ func (bucket Bucket) GetObjectWithURL(signedURL string, options ...Option) (io.R
 	if err != nil {
 		return nil, err
 	}
-	return result.Response.Body, nil
+	return result.Response, nil
 }
 
 // GetObjectToFileWithURL downloads the object into a local file with the signed URL.
@@ -822,7 +822,7 @@ func (bucket Bucket) GetObjectToFileWithURL(signedURL, filePath string, options
 	if err != nil {
 		return err
 	}
-	defer result.Response.Body.Close()
+	defer result.Response.Close()
 
 	// If the file does not exist, create one. If exists, then overwrite it.
 	fd, err := os.OpenFile(tempFilePath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, FilePermMode)

+ 8 - 0
oss/model.go

@@ -15,6 +15,14 @@ type Response struct {
 	ServerCRC  uint64
 }
 
+func (r *Response) Read(p []byte) (n int, err error) {
+	return r.Body.Read(p)
+}
+
+func (r *Response) Close() error {
+	return r.Body.Close()
+}
+
 // PutObjectRequest is the request of DoPutObject
 type PutObjectRequest struct {
 	ObjectKey string