@@ -29,16 +29,40 @@ func main() {
2929 name := "exampleobject"
3030 ctx := context .Background ()
3131
32+ // 方法1 通过 tag 设置 x-cos-security-token
3233 // Get presigned
3334 presignedURL , err := c .Object .GetPresignedURL (ctx , http .MethodGet , name , tak , tsk , time .Hour , token )
3435 if err != nil {
3536 fmt .Printf ("Error: %v\n " , err )
3637 return
3738 }
3839 // Get object by presinged url
39- _ , err = http .Get (presignedURL .String ())
40+ resp , err : = http .Get (presignedURL .String ())
4041 if err != nil {
4142 fmt .Printf ("Error: %v\n " , err )
4243 }
44+ defer resp .Body .Close ()
4345 fmt .Println (presignedURL .String ())
46+ fmt .Printf ("resp:%v\n " , resp )
47+
48+ // 方法2 通过 PresignedURLOptions 设置 x-cos-security-token
49+ opt := & cos.PresignedURLOptions {
50+ Query : & url.Values {},
51+ Header : & http.Header {},
52+ }
53+ opt .Query .Add ("x-cos-security-token" , "<token>" )
54+ // Get presigned
55+ presignedURL , err = c .Object .GetPresignedURL (ctx , http .MethodGet , name , tak , tsk , time .Hour , opt )
56+ if err != nil {
57+ fmt .Printf ("Error: %v\n " , err )
58+ return
59+ }
60+ // Get object by presinged url
61+ resp , err = http .Get (presignedURL .String ())
62+ if err != nil {
63+ fmt .Printf ("Error: %v\n " , err )
64+ }
65+ defer resp .Body .Close ()
66+ fmt .Println (presignedURL .String ())
67+ fmt .Printf ("resp:%v\n " , resp )
4468}
0 commit comments