瀏覽代碼

copy url-encoded src

鸣镝 9 年之前
父節點
當前提交
5327b18ea0
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      oss/bucket.go

+ 3 - 2
oss/bucket.go

@@ -10,6 +10,7 @@ import (
 	"io"
 	"io/ioutil"
 	"net/http"
+	"net/url"
 	"os"
 	"strconv"
 )
@@ -195,7 +196,7 @@ func (bucket Bucket) GetObjectToFile(objectKey, filePath string, options ...Opti
 //
 func (bucket Bucket) CopyObject(srcObjectKey, destObjectKey string, options ...Option) (CopyObjectResult, error) {
 	var out CopyObjectResult
-	options = append(options, CopySource(bucket.BucketName, srcObjectKey))
+	options = append(options, CopySource(bucket.BucketName, url.QueryEscape(srcObjectKey)))
 	resp, err := bucket.do("PUT", destObjectKey, "", "", options, nil)
 	if err != nil {
 		return out, err
@@ -243,7 +244,7 @@ func (bucket Bucket) CopyObjectFrom(srcBucketName, srcObjectKey, destObjectKey s
 
 func (bucket Bucket) copy(srcObjectKey, destBucketName, destObjectKey string, options ...Option) (CopyObjectResult, error) {
 	var out CopyObjectResult
-	options = append(options, CopySource(bucket.BucketName, srcObjectKey))
+	options = append(options, CopySource(bucket.BucketName, url.QueryEscape(srcObjectKey)))
 	headers := make(map[string]string)
 	err := handleOptions(headers, options)
 	if err != nil {