upload.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package admin
  2. import (
  3. "gfast/app/service/admin/upload_service"
  4. "gfast/library/response"
  5. "github.com/gogf/gf/frame/g"
  6. "github.com/gogf/gf/net/ghttp"
  7. "github.com/gogf/gf/text/gstr"
  8. "net/url"
  9. )
  10. type Upload struct{}
  11. // @Summary CkEditor编辑器上传附件
  12. // @Description CkEditor编辑器上传附件
  13. // @Tags 公共
  14. // @Param upFile body string true "upFile"
  15. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  16. // @Router /system/upload/ckEditorUp [post]
  17. // @Security
  18. func (c *Upload) CkEditorUp(r *ghttp.Request) {
  19. upFile := r.GetUploadFile("upload")
  20. fType := gstr.ToLower(r.GetString("type"))
  21. var info *upload_service.FileInfo
  22. var err error
  23. if fType == "images" {
  24. info, err = upload_service.UpImg(upFile)
  25. } else if fType == "files" {
  26. info, err = upload_service.UpFile(upFile)
  27. }
  28. if err != nil {
  29. r.Response.WriteJson(g.Map{"error": g.Map{"message": "上传失败," + err.Error(), "number": 105}})
  30. } else {
  31. parseInfo, _ := url.Parse(r.GetUrl())
  32. r.Response.WriteJson(g.Map{"fileName": info.FileName, "uploaded": 1, "url": parseInfo.Scheme + "://" + parseInfo.Host + "/" + info.FileUrl})
  33. }
  34. }
  35. // @Summary 单图片上传
  36. // @Description 单图片上传
  37. // @Tags 公共
  38. // @Param file body string true "file"
  39. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  40. // @Router /system/upload/upImg [post]
  41. // @Security
  42. func (c *Upload) UpImg(r *ghttp.Request) {
  43. upFile := r.GetUploadFile("file")
  44. info, err := upload_service.UpImg(upFile)
  45. if err != nil {
  46. response.FailJson(true, r, "上传失败,"+err.Error())
  47. }
  48. res := g.Map{
  49. "fileInfo": info,
  50. }
  51. response.SusJson(true, r, "上传成功", res)
  52. }
  53. // @Summary 批量上传图片
  54. // @Description 批量上传图片
  55. // @Tags 公共
  56. // @Param file body string true "file"
  57. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  58. // @Router /system/upload/upImgs [post]
  59. // @Security
  60. func (c *Upload) UpImgs(r *ghttp.Request) {
  61. upFiles := r.GetUploadFiles("file")
  62. infos, err := upload_service.UpImgs(upFiles)
  63. if err != nil {
  64. response.FailJson(true, r, "上传失败,"+err.Error())
  65. }
  66. res := g.Map{
  67. "fileInfos": infos,
  68. }
  69. response.SusJson(true, r, "上传成功", res)
  70. }
  71. // @Summary 单文件上传
  72. // @Description 单文件上传
  73. // @Tags 公共
  74. // @Param file body string true "file"
  75. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  76. // @Router /system/upload/upFile [post]
  77. // @Security
  78. func (c *Upload) UpFile(r *ghttp.Request) {
  79. upFile := r.GetUploadFile("file")
  80. info, err := upload_service.UpFile(upFile)
  81. if err != nil {
  82. response.FailJson(true, r, "上传失败,"+err.Error())
  83. }
  84. res := g.Map{
  85. "fileInfo": info,
  86. }
  87. response.SusJson(true, r, "上传成功", res)
  88. }
  89. // @Summary 批量上传文件
  90. // @Description 批量上传文件
  91. // @Tags 公共
  92. // @Param file body string true "file"
  93. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  94. // @Router /system/upload/upFiles [post]
  95. // @Security
  96. func (c *Upload) UpFiles(r *ghttp.Request) {
  97. upFiles := r.GetUploadFiles("file")
  98. infos, err := upload_service.UpFiles(upFiles)
  99. if err != nil {
  100. response.FailJson(true, r, "上传失败,"+err.Error())
  101. }
  102. res := g.Map{
  103. "fileInfos": infos,
  104. }
  105. response.SusJson(true, r, "上传成功", res)
  106. }