先决条件
1.阿里云控制台OSS界面创建一个bucket,一般设置权限位公共读
2.访问控制界面创建一个用户.并且允许Open api进行访问.授权ALL OSS相关权限,用于代码访问oss做相关操作.
package main
import (
"fmt"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
const (
endpoint = "阿里云OSS中Bucket预览中找到相关信息"
accessKey = "填入自己的accessKey"
accessKeySecret = "填入自己的accessKeySecret"
)
func main() {
}
// ListBucket 查看bucket列表
func ListBucket(endpoint, accessKey, accessKeySecret string) {
client, err := oss.New(endpoint, accessKey, accessKeySecret)
if err != nil {
//HandleError(err)
}
lsRes, err := client.ListBuckets()
if err != nil {
// HandleError(err)
}
for _, bucket := range lsRes.Buckets {
fmt.Println("Buckets:", bucket.Name)
}
}
// 创建存储空间
func createBucket(endpoint, accessKey, accessKeySecret string) {
client, err := oss.New(endpoint, accessKey, accessKeySecret)
if err != nil {
// HandleError(err)
}
err = client.CreateBucket("my-bucket")
if err != nil {
// HandleError(err)
}
}
// DeleteBucket 删除存储空间
func DeleteBucket(endpoint, accessKey, accessKeySecret string) {
client, err := oss.New(endpoint, accessKey, accessKeySecret)
if err != nil {
// HandleError(err)
}
err = client.DeleteBucket("my-bucket")
if err != nil {
// HandleError(err)
}
}
// UploadFile 上传文件
func UploadFile(endpoint, accessKey, accessKeySecret string) {
client, err := oss.New(endpoint, accessKey, accessKeySecret)
if err != nil {
// HandleError(err)
}
bucket, err := client.Bucket("my-bucket")
if err != nil {
// HandleError(err)
}
err = bucket.PutObjectFromFile("my-object", "LocalFile")
if err != nil {
// HandleError(err)
}
}
// 下载文件
func downLoadFile(endpoint, accessKey, accessKeySecret string) {
client, err := oss.New(endpoint, accessKey, accessKeySecret)
if err != nil {
// HandleError(err)
}
bucket, err := client.Bucket("my-bucket")
if err != nil {
// HandleError(err)
}
err = bucket.GetObjectToFile("my-object", "LocalFile")
if err != nil {
// HandleError(err)
}
}