package model import ( "crypto/sha256" "fmt" "io" "os" "app.yhyue.com/moapp/jybase/common" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) var ossclient *oss.Client func InitOss(ossEndpoint, ossAccessKeyId, ossAccessKeySecret string) { client, err := oss.New(ossEndpoint, ossAccessKeyId, ossAccessKeySecret) if err != nil { fmt.Println("Error:", err) os.Exit(-1) } ossclient = client } // OssPutObject oss附件上传 func OssPutObject(objectName string, fd io.Reader, ossBucketName string) (bool, error) { common.Catch() // 获取存储空间。 bucket, err := ossclient.Bucket(ossBucketName) if err != nil { fmt.Println("Error:", err) return false, err } // 上传文件流。 文件超过1M 上传时间超时 go func(objectName string, fd io.Reader) { err = bucket.PutObject(objectName, fd) if err != nil { fmt.Println("file upload false:", err) } }(objectName, fd) return true, nil } func GetHashKey(bs []byte) string { common.Catch() ha := sha256.New() ha.Write(bs) hbs := ha.Sum(nil) key := fmt.Sprintf("%x", hbs) return key } func TypeByExt(path string) string { for i := len(path) - 1; i >= 0 && path[i] != '/'; i-- { if path[i] == '.' { return path[i:] } } return "" }