1package main 2 3import ( 4 "context" 5 "net/http" 6 "net/url" 7 "os" 8 "time" 9 10 "fmt" 11 "github.com/tencentyun/cos-go-sdk-v5" 12 "github.com/tencentyun/cos-go-sdk-v5/debug" 13) 14 15func log_status(err error) { 16 if err == nil { 17 return 18 } 19 if cos.IsNotFoundError(err) { 20 // WARN 21 fmt.Println("WARN: Resource is not existed") 22 } else if e, ok := cos.IsCOSError(err); ok { 23 fmt.Printf("ERROR: Code: %v\n", e.Code) 24 fmt.Printf("ERROR: Message: %v\n", e.Message) 25 fmt.Printf("ERROR: Resource: %v\n", e.Resource) 26 fmt.Printf("ERROR: RequestId: %v\n", e.RequestID) 27 // ERROR 28 } else { 29 fmt.Printf("ERROR: %v\n", err) 30 // ERROR 31 } 32} 33 34func main() { 35 u, _ := url.Parse("http://alanbj-1251668577.cos.ap-beijing.myqcloud.com") 36 b := &cos.BaseURL{BucketURL: u} 37 c := cos.NewClient(b, &http.Client{ 38 //设置超时时间 39 Timeout: 100 * time.Second, 40 Transport: &cos.AuthorizationTransport{ 41 SecretID: os.Getenv("COS_SECRETID"), 42 SecretKey: os.Getenv("COS_SECRETKEY"), 43 Transport: &debug.DebugRequestTransport{ 44 RequestHeader: false, 45 RequestBody: false, 46 ResponseHeader: false, 47 ResponseBody: false, 48 }, 49 }, 50 }) 51 52 opt := &cos.MultiUploadOptions{ 53 OptIni: nil, 54 PartSize: 1, 55 } 56 v, _, err := c.Object.MultiUpload( 57 context.Background(), "test/gomulput1G", "./test1G", opt, 58 ) 59 log_status(err) 60 fmt.Println(v) 61} 62