//oss_up_file.go
package common
import (
"fmt"
"github.com/aliyun/oss"
)
func UpFile(accessKeyId, accessKeySecret, endpoint, bucketName, objectName, localFileName string) (string, error) {
// 创建OSSClient实例。
client, err := oss.New(endpoint, accessKeyId, accessKeySecret)
if err != nil {
LogFuncError("UpFile error:%v", err)
return "", err
}
// 获取存储空间。
bucket, err := client.Bucket(bucketName)
if err != nil {
LogFuncError("UpFile error:%v", err)
return "", err
}
// 上传文件。
err = bucket.PutObjectFromFile(objectName, localFileName)
if err != nil {
LogFuncError("UpFile error:%v", err)
return "", err
}
url := fmt.Sprintf("http://%s.%s/%s", bucketName, endpoint, objectName)
return url, nil
}
//up_file_test.go
package common
import (
"encoding/base64"
"fmt"
"github.com/astaxie/beego/httplib"
"io/ioutil"
"testing"
"time"
)
func TestUpFile(t *testing.T) {
url, err := UpFile("xxxx","xxxx", "oss-cn-beijing.aliyuncs.com", "oss", "flower.jpg", "flower.jpg")
if err != nil {
fmt.Println(err)
}
fmt.Println(url)
}
阿里oss后台直接上传文件
于 2019-04-30 10:06:34 首次发布