upload.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package controller
  2. import (
  3. "context"
  4. "github.com/gogf/gf/v2/errors/gerror"
  5. "github.com/gogf/gf/v2/frame/g"
  6. "github.com/tiger1103/gfast/v3/api/v1/common"
  7. "github.com/tiger1103/gfast/v3/internal/app/common/consts"
  8. "github.com/tiger1103/gfast/v3/internal/app/common/service"
  9. )
  10. var Upload = new(uploadController)
  11. type uploadController struct{}
  12. // 上传单图
  13. func (c *uploadController) SingleImg(ctx context.Context, req *common.UploadSingleImgReq) (res *common.UploadSingleRes, err error) {
  14. r := g.RequestFromCtx(ctx)
  15. file := r.GetUploadFile("file")
  16. if file == nil {
  17. err = gerror.New("上传文件必须")
  18. return
  19. }
  20. v, _ := g.Cfg().Get(ctx, "upload.default")
  21. response, err := service.Upload().UploadFile(ctx, file, consts.CheckFileTypeImg, v.Int())
  22. if err != nil {
  23. return
  24. }
  25. res = &common.UploadSingleRes{
  26. UploadResponse: response,
  27. }
  28. // 上传第三方
  29. return
  30. }
  31. // 上传多图
  32. func (c *uploadController) MultipleImg(ctx context.Context, req *common.UploadMultipleImgReq) (res *common.UploadMultipleRes, err error) {
  33. r := g.RequestFromCtx(ctx)
  34. files := r.GetUploadFiles("file")
  35. if len(files) == 0 {
  36. err = gerror.New("上传文件必须")
  37. return
  38. }
  39. v, _ := g.Cfg().Get(ctx, "upload.default")
  40. mf, err := service.Upload().UploadFiles(ctx, files, consts.CheckFileTypeImg, v.Int())
  41. if err != nil {
  42. return
  43. }
  44. res = &mf
  45. return
  46. }
  47. // 上传单文件
  48. func (c *uploadController) SingleFile(ctx context.Context, req *common.UploadSingleFileReq) (res *common.UploadSingleRes, err error) {
  49. r := g.RequestFromCtx(ctx)
  50. file := r.GetUploadFile("file")
  51. if file == nil {
  52. err = gerror.New("上传文件必须")
  53. return
  54. }
  55. v, _ := g.Cfg().Get(ctx, "upload.default")
  56. response, err := service.Upload().UploadFile(ctx, file, consts.CheckFileTypeFile, v.Int())
  57. if err != nil {
  58. return
  59. }
  60. res = &common.UploadSingleRes{
  61. UploadResponse: response,
  62. }
  63. return
  64. }
  65. // 上传多文件
  66. func (c *uploadController) MultipleFile(ctx context.Context, req *common.UploadMultipleFileReq) (res *common.UploadMultipleRes, err error) {
  67. r := g.RequestFromCtx(ctx)
  68. files := r.GetUploadFiles("file")
  69. if len(files) == 0 {
  70. err = gerror.New("上传文件必须")
  71. return
  72. }
  73. v, _ := g.Cfg().Get(ctx, "upload.default")
  74. mf, err := service.Upload().UploadFiles(ctx, files, consts.CheckFileTypeFile, v.Int())
  75. if err != nil {
  76. return
  77. }
  78. res = &mf
  79. return
  80. }