1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package sample
- import (
- "fmt"
- "io/ioutil"
- "os"
- "strings"
- "github.com/aliyun/aliyun-oss-go-sdk/oss"
- )
- // SignURLSample signs URL sample
- func SignURLSample() {
- // Create bucket
- bucket, err := GetTestBucket(bucketName)
- if err != nil {
- HandleError(err)
- }
- // Put object
- signedURL, err := bucket.SignURL(objectKey, oss.HTTPPut, 60)
- if err != nil {
- HandleError(err)
- }
- var val = "花间一壶酒,独酌无相亲。 举杯邀明月,对影成三人。"
- err = bucket.PutObjectWithURL(signedURL, strings.NewReader(val))
- if err != nil {
- HandleError(err)
- }
- // Put object with option
- options := []oss.Option{
- oss.Meta("myprop", "mypropval"),
- oss.ContentType("image/tiff"),
- }
- signedURL, err = bucket.SignURL(objectKey, oss.HTTPPut, 60, options...)
- if err != nil {
- HandleError(err)
- }
- err = bucket.PutObjectFromFileWithURL(signedURL, localFile, options...)
- if err != nil {
- HandleError(err)
- }
- // Get object
- signedURL, err = bucket.SignURL(objectKey, oss.HTTPGet, 60)
- if err != nil {
- HandleError(err)
- }
- body, err := bucket.GetObjectWithURL(signedURL)
- if err != nil {
- HandleError(err)
- }
- defer body.Close()
- // Read content
- data, err := ioutil.ReadAll(body)
- if err != nil {
- fmt.Println("Error:", err)
- os.Exit(-1)
- }
- fmt.Println("data:", string(data))
- err = bucket.GetObjectToFileWithURL(signedURL, "mynewfile-1.jpg")
- if err != nil {
- HandleError(err)
- }
- // Delete the object and bucket
- err = DeleteTestBucketAndObject(bucketName)
- if err != nil {
- HandleError(err)
- }
- fmt.Println("SignURLSample completed")
- }
|