exa_file_upload_download.go 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package example
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "go.uber.org/zap"
  5. "log-server/global"
  6. "log-server/model/common/request"
  7. "log-server/model/common/response"
  8. "log-server/model/example"
  9. exampleRes "log-server/model/example/response"
  10. )
  11. type FileUploadAndDownloadApi struct{}
  12. // @Tags ExaFileUploadAndDownload
  13. // @Summary 上传文件示例
  14. // @Security ApiKeyAuth
  15. // @accept multipart/form-data
  16. // @Produce application/json
  17. // @Param file formData file true "上传文件示例"
  18. // @Success 200 {object} response.Response{data=exampleRes.ExaFileResponse,msg=string} "上传文件示例,返回包括文件详情"
  19. // @Router /fileUploadAndDownload/upload [post]
  20. func (b *FileUploadAndDownloadApi) UploadFile(c *gin.Context) {
  21. var file example.ExaFileUploadAndDownload
  22. noSave := c.DefaultQuery("noSave", "0")
  23. _, header, err := c.Request.FormFile("file")
  24. if err != nil {
  25. global.GVA_LOG.Error("接收文件失败!", zap.Error(err))
  26. response.FailWithMessage("接收文件失败", c)
  27. return
  28. }
  29. file, err = fileUploadAndDownloadService.UploadFile(header, noSave) // 文件上传后拿到文件路径
  30. if err != nil {
  31. global.GVA_LOG.Error("修改数据库链接失败!", zap.Error(err))
  32. response.FailWithMessage("修改数据库链接失败", c)
  33. return
  34. }
  35. response.OkWithDetailed(exampleRes.ExaFileResponse{File: file}, "上传成功", c)
  36. }
  37. // EditFileName 编辑文件名或者备注
  38. func (b *FileUploadAndDownloadApi) EditFileName(c *gin.Context) {
  39. var file example.ExaFileUploadAndDownload
  40. _ = c.ShouldBindJSON(&file)
  41. if err := fileUploadAndDownloadService.EditFileName(file); err != nil {
  42. global.GVA_LOG.Error("编辑失败!", zap.Error(err))
  43. response.FailWithMessage("编辑失败", c)
  44. return
  45. }
  46. response.OkWithMessage("编辑成功", c)
  47. }
  48. // @Tags ExaFileUploadAndDownload
  49. // @Summary 删除文件
  50. // @Security ApiKeyAuth
  51. // @Produce application/json
  52. // @Param data body example.ExaFileUploadAndDownload true "传入文件里面id即可"
  53. // @Success 200 {object} response.Response{msg=string} "删除文件"
  54. // @Router /fileUploadAndDownload/deleteFile [post]
  55. func (b *FileUploadAndDownloadApi) DeleteFile(c *gin.Context) {
  56. var file example.ExaFileUploadAndDownload
  57. _ = c.ShouldBindJSON(&file)
  58. if err := fileUploadAndDownloadService.DeleteFile(file); err != nil {
  59. global.GVA_LOG.Error("删除失败!", zap.Error(err))
  60. response.FailWithMessage("删除失败", c)
  61. return
  62. }
  63. response.OkWithMessage("删除成功", c)
  64. }
  65. // @Tags ExaFileUploadAndDownload
  66. // @Summary 分页文件列表
  67. // @Security ApiKeyAuth
  68. // @accept application/json
  69. // @Produce application/json
  70. // @Param data body request.PageInfo true "页码, 每页大小"
  71. // @Success 200 {object} response.Response{data=response.PageResult,msg=string} "分页文件列表,返回包括列表,总数,页码,每页数量"
  72. // @Router /fileUploadAndDownload/getFileList [post]
  73. func (b *FileUploadAndDownloadApi) GetFileList(c *gin.Context) {
  74. var pageInfo request.PageInfo
  75. _ = c.ShouldBindJSON(&pageInfo)
  76. list, total, err := fileUploadAndDownloadService.GetFileRecordInfoList(pageInfo)
  77. if err != nil {
  78. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  79. response.FailWithMessage("获取失败", c)
  80. } else {
  81. response.OkWithDetailed(response.PageResult{
  82. List: list,
  83. Total: total,
  84. Page: pageInfo.Page,
  85. PageSize: pageInfo.PageSize,
  86. }, "获取成功", c)
  87. }
  88. }