本文介绍如何使用简单上传。
简单上传的完整代码请参见GitHub。
上传字符串
以下代码用于上传字符串:
package main import ( "fmt" "os" "strings" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) func main() { // 创建OSSClient实例。 client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } // 获取存储空间。 bucket, err := client.Bucket("<yourBucketName>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } // 指定存储类型为标准存储,缺省也为标准存储。 storageType := oss.ObjectStorageClass(oss.StorageStandard) // 指定存储类型为归档存储。 // storageType := oss.ObjectStorageClass(oss.StorageArchive) // 指定访问权限为公共读,缺省为继承bucket的权限。 objectAcl := oss.ObjectACL(oss.ACLPublicRead) // 上传字符串。 err = bucket.PutObject("<yourObjectName>", strings.NewReader("yourObjectValue"), storageType, objectAcl) if err != nil { fmt.Println("Error:", err) os.Exit(-1) } }
上传Byte数组
以下代码用于上传Byte数组:
package main import ( "fmt" "os" "bytes" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) func main() { // 创建OSSClient实例。 client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } // 获取存储空间。 bucket, err := client.Bucket("<yourBucketName>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } // 上传Byte数组。 err = bucket.PutObject("<yourObjectName>", bytes.NewReader([]byte("yourObjectValueByteArrary"))) if err != nil { fmt.Println("Error:", err) os.Exit(-1) } }
上传文件流
以下代码用于上传文件流:
package main import ( "fmt" "os" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) func main() { // 创建OSSClient实例。 client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } // 获取存储空间。 bucket, err := client.Bucket("<yourBucketName>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } // 读取本地文件。 fd, err := os.Open("<yourLocalFile>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } defer fd.Close() // 上传文件流。 err = bucket.PutObject("<yourObjectName>", fd) if err != nil { fmt.Println("Error:", err) os.Exit(-1) } }
上传本地文件
以下代码用于上传本地文件:
package main import ( "fmt" "os" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) func main() { // 创建OSSClient实例。 client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } // 获取存储空间。 bucket, err := client.Bucket("<yourBucketName>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } // 上传本地文件。 err = bucket.PutObjectFromFile("<yourObjectName>", "<yourLocalFile>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } }