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