You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

76 lines
2.4 KiB

package oss
import (
"io"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
type (
ISys interface {
///创建数据桶
CreateBucket(bucketName string) (err error)
///上传对象
UploadObject(objectKey string, reader io.Reader, options ...oss.Option) (err error)
///上传本地文件
UploadFile(objectName string, localFileName string) (err error)
///获取对象
GetObject(objectName string, options ...oss.Option) ([]byte, error)
///复制文件
CopyObject(srcObjectKey, destObjectKey string, options ...oss.Option) (err error)
///下载文件
DownloadFile(objectName string, downloadedFileName string) (err error)
///删除文件
DeleteFile(objectName string, options ...oss.Option) (err error)
///删除文件
DeleteFiles(objectName []string, options ...oss.Option) (err error)
//获取临时访问地址
GetURL(objectName string, expired int64, options ...oss.Option) (url string, err error)
}
)
var (
defsys ISys
)
func OnInit(config map[string]interface{}, option ...Option) (err error) {
defsys, err = newSys(newOptions(config, option...))
return
}
func NewSys(option ...Option) (sys ISys, err error) {
sys, err = newSys(newOptionsByOption(option...))
return
}
func CreateBucket(bucketName string) (err error) {
return defsys.CreateBucket(bucketName)
}
func UploadObject(objectKey string, reader io.Reader, options ...oss.Option) (err error) {
return defsys.UploadObject(objectKey, reader, options...)
}
func UploadFile(localFileName string, objectName string) (err error) {
return defsys.UploadFile(localFileName, objectName)
}
func GetObject(objectName string, options ...oss.Option) ([]byte, error) {
return defsys.GetObject(objectName, options...)
}
func CopyObject(srcObjectKey, destObjectKey string, options ...oss.Option) (err error) {
return defsys.CopyObject(srcObjectKey, destObjectKey, options...)
}
func DownloadFile(objectName string, downloadedFileName string) (err error) {
return defsys.DownloadFile(objectName, downloadedFileName)
}
func DeleteFile(objectName string, options ...oss.Option) (err error) {
return defsys.DeleteFile(objectName, options...)
}
func DeleteFiles(objectNames []string, options ...oss.Option) (err error) {
return defsys.DeleteFiles(objectNames, options...)
}
func GetURL(objectName string, expired int64, options ...oss.Option) (url string, err error) {
return defsys.GetURL(objectName, expired, options...)
}