oss.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package utils
  2. import (
  3. "github.com/aliyun/aliyun-oss-go-sdk/oss"
  4. "lzyd-message-api/common"
  5. "os"
  6. "time"
  7. )
  8. func GetVideoSignedURL(strs string) string {
  9. // 创建OSSClient实例。
  10. client, err := oss.New(common.Endpoint, common.AccessKeyIdOSS, common.AccessSecretOss)
  11. if err != nil {
  12. os.Exit(-1)
  13. }
  14. // 获取存储空间。
  15. bucket, err := client.Bucket(common.BucketName)
  16. if err != nil {
  17. os.Exit(-1)
  18. }
  19. // 上传文件流。
  20. signedURL, err := bucket.SignURL(strs, oss.HTTPGet, 60*20)
  21. if err != nil {
  22. os.Exit(-1)
  23. }
  24. return signedURL
  25. }
  26. func GetSnapVideoSignedURL(strs string) string {
  27. // 创建OSSClient实例。
  28. client, err := oss.New(common.Endpoint, common.AccessKeyIdOSS, common.AccessSecretOss)
  29. if err != nil {
  30. os.Exit(-1)
  31. }
  32. // 获取存储空间。
  33. bucket, err := client.Bucket(common.BucketName)
  34. if err != nil {
  35. os.Exit(-1)
  36. }
  37. // 上传文件流。
  38. signedURL, err := bucket.SignURL(strs, oss.HTTPGet, 60*20, oss.AddParam("x-oss-process", "video/snapshot,t_7000,f_jpg,m_fast"))
  39. if err != nil {
  40. os.Exit(-1)
  41. }
  42. return signedURL
  43. }
  44. var expire_time int64 = 30
  45. var host string = "http://cloudsport-video.oss-cn-hangzhou.aliyuncs.com"
  46. type ConfigStruct struct {
  47. Expiration string `json:"expiration"`
  48. Conditions [][]string `json:"conditions"`
  49. }
  50. func get_gmt_iso8601(expire_end int64) string {
  51. var tokenExpire = time.Unix(expire_end, 0).Format("2006-01-02T15:04:05Z")
  52. return tokenExpire
  53. }
  54. type CallbackParam struct {
  55. CallbackUrl string `json:"callbackUrl"`
  56. CallbackBody string `json:"callbackBody"`
  57. CallbackBodyType string `json:"callbackBodyType"`
  58. }
  59. type PolicyToken struct {
  60. AccessKeyId string `json:"accessid"`
  61. Host string `json:"host"`
  62. Expire int64 `json:"expire"`
  63. Signature string `json:"signature"`
  64. Policy string `json:"policy"`
  65. Directory string `json:"dir"`
  66. Callback string `json:"callback"`
  67. }