ossclient.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package main
  2. import (
  3. "fmt"
  4. "io/ioutil"
  5. cu "jygit.jydev.jianyu360.cn/data_capture/myself_util/commonutil"
  6. util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
  7. "os"
  8. "github.com/aliyun/aliyun-oss-go-sdk/oss"
  9. )
  10. var (
  11. ossEndpoint = "oss-cn-beijing-internal.aliyuncs.com" //正式环境用:oss-cn-beijing-internal.aliyuncs.com 测试:oss-cn-beijing.aliyuncs.com
  12. ossAccessKeyId = "LTAI4G5x9aoZx8dDamQ7vfZi"
  13. ossAccessKeySecret = "Bk98FsbPYXcJe72n1bG3Ssf73acuNh"
  14. ossBucketName = "topjy"
  15. ossclient *oss.Client
  16. )
  17. func InitOss() {
  18. client, err := oss.New(ossEndpoint, ossAccessKeyId, ossAccessKeySecret)
  19. if err != nil {
  20. fmt.Println("Error:", err)
  21. os.Exit(-1)
  22. }
  23. ossclient = client
  24. }
  25. func OssGetObject(objectName string) string {
  26. cu.Catch()
  27. // 获取存储空间。
  28. bucket, err := ossclient.Bucket(ossBucketName)
  29. if err != nil {
  30. fmt.Println("Error:", err)
  31. return ""
  32. }
  33. // 下载文件到流。
  34. body, err := bucket.GetObject(objectName)
  35. if err != nil {
  36. fmt.Println("Error:", err)
  37. return ""
  38. }
  39. defer body.Close()
  40. data, err := ioutil.ReadAll(body)
  41. if err != nil {
  42. fmt.Println("Error:", err)
  43. return ""
  44. }
  45. return string(data)
  46. }
  47. func GetFileText(tmp map[string]interface{}) (filetext string, byOcr bool) {
  48. byOcr = true
  49. if attchMap, ok := tmp["attach_text"].(map[string]interface{}); attchMap != nil && ok {
  50. if len(attchMap) == 1 {
  51. for _, tmpData1 := range attchMap {
  52. if tmpData2, ok := tmpData1.(map[string]interface{}); tmpData2 != nil && ok {
  53. if len(tmpData2) == 1 {
  54. for _, result := range tmpData2 {
  55. if resultMap, ok := result.(map[string]interface{}); resultMap != nil && ok {
  56. if attach_url := util.ObjToString(resultMap["attach_url"]); attach_url != "" {
  57. filetext = OssGetObject(attach_url) //oss读数据
  58. //filetext += bs + "\n"
  59. //附件文本是否是通过ocr识别的
  60. if resultMap["ocr"] != nil && util.IntAll(resultMap["ocr"]) == 0 {
  61. byOcr = false
  62. }
  63. }
  64. }
  65. }
  66. }
  67. }
  68. }
  69. }
  70. }
  71. return
  72. }