github.com/aliyun/aliyun-oss-go-sdk@v3.0.2+incompatible/sample/sign_url.go (about) 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 }