OSDN Git Service

Create ossClient.go (#574)
[bytom/vapor.git] / vendor / github.com / aliyun / aliyun-oss-go-sdk / sample / sign_url.go
1 package sample
2
3 import (
4         "fmt"
5         "io/ioutil"
6         "os"
7         "strings"
8
9         "github.com/aliyun/aliyun-oss-go-sdk/oss"
10 )
11
12 // SignURLSample signs URL sample
13 func SignURLSample() {
14         // Create bucket
15         bucket, err := GetTestBucket(bucketName)
16         if err != nil {
17                 HandleError(err)
18         }
19
20         // Put object
21         signedURL, err := bucket.SignURL(objectKey, oss.HTTPPut, 60)
22         if err != nil {
23                 HandleError(err)
24         }
25
26         var val = "花间一壶酒,独酌无相亲。 举杯邀明月,对影成三人。"
27         err = bucket.PutObjectWithURL(signedURL, strings.NewReader(val))
28         if err != nil {
29                 HandleError(err)
30         }
31
32         // Put object with option
33         options := []oss.Option{
34                 oss.Meta("myprop", "mypropval"),
35                 oss.ContentType("image/tiff"),
36         }
37
38         signedURL, err = bucket.SignURL(objectKey, oss.HTTPPut, 60, options...)
39         if err != nil {
40                 HandleError(err)
41         }
42
43         err = bucket.PutObjectFromFileWithURL(signedURL, localFile, options...)
44         if err != nil {
45                 HandleError(err)
46         }
47
48         // Get object
49         signedURL, err = bucket.SignURL(objectKey, oss.HTTPGet, 60)
50         if err != nil {
51                 HandleError(err)
52         }
53
54         body, err := bucket.GetObjectWithURL(signedURL)
55         if err != nil {
56                 HandleError(err)
57         }
58         defer body.Close()
59
60         // Read content
61         data, err := ioutil.ReadAll(body)
62         if err != nil {
63                 fmt.Println("Error:", err)
64                 os.Exit(-1)
65         }
66         fmt.Println("data:", string(data))
67
68         err = bucket.GetObjectToFileWithURL(signedURL, "mynewfile-1.jpg")
69         if err != nil {
70                 HandleError(err)
71         }
72
73         // Delete the object and bucket
74         err = DeleteTestBucketAndObject(bucketName)
75         if err != nil {
76                 HandleError(err)
77         }
78
79         fmt.Println("SignURLSample completed")
80 }