ossclient.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package oss
  2. import (
  3. util "app.yhyue.com/data_processing/common_utils"
  4. "app.yhyue.com/data_processing/common_utils/log"
  5. "esindex/config"
  6. "fmt"
  7. "github.com/aliyun/aliyun-oss-go-sdk/oss"
  8. "go.uber.org/zap"
  9. "io/ioutil"
  10. "os"
  11. )
  12. var (
  13. //ossEndpoint = "oss-cn-beijing-internal.aliyuncs.com" //正式环境用:oss-cn-beijing-internal.aliyuncs.com 测试:oss-cn-beijing.aliyuncs.com
  14. //ossAccessKeyId = "LTAI4G5x9aoZx8dDamQ7vfZi"
  15. //ossAccessKeySecret = "Bk98FsbPYXcJe72n1bG3Ssf73acuNh"
  16. //ossBucketName = "topjy"
  17. ossclient *oss.Client
  18. )
  19. func InitOss() {
  20. client, err := oss.New(config.Conf.DB.Oss.Endpoint, config.Conf.DB.Oss.AccessKey, config.Conf.DB.Oss.AccessSecret)
  21. if err != nil {
  22. fmt.Println("Error:", err)
  23. os.Exit(-1)
  24. }
  25. ossclient = client
  26. }
  27. func OssGetObject(objectName, id string) string {
  28. util.Catch()
  29. // 获取存储空间。
  30. bucket, err := ossclient.Bucket(config.Conf.DB.Oss.BucketName)
  31. if err != nil {
  32. return ""
  33. }
  34. // 下载文件到流。
  35. body, err := bucket.GetObject(objectName)
  36. if err != nil {
  37. //log.Info("OssGetObject", zap.String("key", objectName), zap.String("id", id))
  38. //log.Info("OssGetObject", zap.Error(err))
  39. return ""
  40. }
  41. defer body.Close()
  42. data, err := ioutil.ReadAll(body)
  43. if err != nil {
  44. log.Info("OssGetObject", zap.Error(err))
  45. return ""
  46. }
  47. return string(data)
  48. }
  49. func OssObjExists(bname, fid string) bool {
  50. util.Catch()
  51. // 获取存储空间。
  52. bucket, err := ossclient.Bucket(bname)
  53. if err != nil {
  54. fmt.Println("Error:", err)
  55. }
  56. // 判断文件是否存在。
  57. isExist, err := bucket.IsObjectExist(fid)
  58. if err != nil {
  59. fmt.Println("Error:", err)
  60. }
  61. return isExist
  62. }