12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 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 ""
- }
|