简单上传
本文介绍如何使用简单上传。
简单上传的完整代码请参见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)
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论