resource.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package controllers
  2. import (
  3. "fmt"
  4. "hongze/hongze_cygx/models"
  5. "hongze/hongze_cygx/services"
  6. "hongze/hongze_cygx/utils"
  7. "os"
  8. "path"
  9. "time"
  10. )
  11. //资源管理-图片上传,合同上传等
  12. type ResourceController struct {
  13. BaseAuthController
  14. }
  15. // @Title 图片上传
  16. // @Description 图片上传接口
  17. // @Param file query file true "文件"
  18. // @Success 200 新增成功
  19. // @router /image/upload [post]
  20. func (this *ResourceController) Upload() {
  21. br := new(models.BaseResponse).Init()
  22. defer func() {
  23. this.Data["json"] = br
  24. this.ServeJSON()
  25. }()
  26. f, h, err := this.GetFile("file")
  27. if err != nil {
  28. br.Msg = "获取资源信息失败"
  29. br.ErrMsg = "获取资源信息失败,Err:" + err.Error()
  30. return
  31. }
  32. ext := path.Ext(h.Filename)
  33. dateDir := time.Now().Format("20060102")
  34. uploadDir := "static/temp/" + dateDir
  35. err = os.MkdirAll(uploadDir, 777)
  36. if err != nil {
  37. br.Msg = "存储目录创建失败"
  38. br.ErrMsg = "存储目录创建失败,Err:" + err.Error()
  39. return
  40. }
  41. randStr := utils.GetRandStringNoSpecialChar(28)
  42. fileName := randStr + ext
  43. fpath := uploadDir + "/" + fileName
  44. defer f.Close() //关闭上传文件
  45. err = this.SaveToFile("file", fpath)
  46. if err != nil {
  47. br.Msg = "文件上传失败"
  48. br.ErrMsg = "文件上传失败,Err:" + err.Error()
  49. return
  50. }
  51. //
  52. ////上传到阿里云
  53. //resourceUrl, err := services.UploadAliyun(fileName, fpath)
  54. //if err != nil {
  55. // br.Msg = "文件上传失败"
  56. // br.ErrMsg = "文件上传失败,Err:" + err.Error()
  57. // return
  58. //}
  59. savePath := uploadDir + time.Now().Format("200601/20060102/")
  60. savePath += fileName
  61. //上传到阿里云
  62. err = services.UploadFileToAliyun("", fpath, savePath)
  63. if err != nil {
  64. br.Msg = "文件上传失败"
  65. br.ErrMsg = "文件上传失败,Err:" + err.Error()
  66. return
  67. }
  68. fileHost := "https://hzstatic.hzinsights.com/"
  69. resourceUrl := fileHost + savePath
  70. defer func() {
  71. os.Remove(fpath)
  72. }()
  73. item := new(models.Resource)
  74. item.ResourceUrl = resourceUrl
  75. item.ResourceType = 1
  76. item.CreateTime = time.Now()
  77. newId, err := models.AddResource(item)
  78. if err != nil {
  79. br.Msg = "资源上传失败"
  80. br.ErrMsg = "资源上传失败,Err:" + err.Error()
  81. return
  82. }
  83. resp := new(models.ResourceResp)
  84. resp.Id = newId
  85. resp.ResourceUrl = resourceUrl
  86. br.Msg = "上传成功"
  87. br.Ret = 200
  88. br.Success = true
  89. br.Data = resp
  90. return
  91. }
  92. type ChartPermissionRepMore struct {
  93. PermissionName string `description:"名称"`
  94. }
  95. func init() {
  96. var list []*ChartPermissionRepMore
  97. Lista := []*ChartPermissionRepMore{{PermissionName: "A"}, {PermissionName: "A"}, {PermissionName: "A"}, {PermissionName: "A"}}
  98. Listb := []*ChartPermissionRepMore{{PermissionName: "B"}, {PermissionName: "B"}, {PermissionName: "B"}, {PermissionName: "B"}}
  99. for _, v := range Lista {
  100. list = append(list, v)
  101. }
  102. fmt.Println("来了呀")
  103. fmt.Println(Listb)
  104. fmt.Println(list)
  105. }