file.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package admin
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "server/dao"
  5. "server/global"
  6. "server/model/common/response"
  7. )
  8. type FileApi struct{}
  9. func (fa *FileApi) QueryFileGenre(c *gin.Context) {
  10. genre, err := fileService.QueryFileGenre()
  11. if err != nil {
  12. response.FailWithMessage("失败", c)
  13. global.GVA_LOG.Error("QueryFileGenre ======= " + err.Error())
  14. return
  15. }
  16. response.OkWithData(genre, c)
  17. }
  18. func (fa *FileApi) CreateFileGenre(c *gin.Context) {
  19. var fileGenre dao.FileGenre
  20. err := c.ShouldBindJSON(&fileGenre)
  21. if err != nil {
  22. response.FailWithMessage("失败", c)
  23. global.GVA_LOG.Error("CreateFileGenre ====== " + err.Error())
  24. return
  25. }
  26. err = fileService.CreateFileGenre(fileGenre)
  27. if err != nil {
  28. response.FailWithMessage("失败", c)
  29. global.GVA_LOG.Error("CreateFileGenre ====== " + err.Error())
  30. return
  31. }
  32. response.OkWithMessage("新增成功", c)
  33. }
  34. func (fa *FileApi) UpdateFileGenre(c *gin.Context) {
  35. var fileGenre dao.FileGenre
  36. err := c.ShouldBindJSON(&fileGenre)
  37. if err != nil {
  38. response.FailWithMessage("失败", c)
  39. global.GVA_LOG.Error("UpdateFileGenre ====== " + err.Error())
  40. return
  41. }
  42. err = fileService.UpdateFileGenre(fileGenre)
  43. if err != nil {
  44. response.FailWithMessage("失败", c)
  45. global.GVA_LOG.Error("UpdateFileGenre ====== " + err.Error())
  46. return
  47. }
  48. response.OkWithMessage("修改成功", c)
  49. }
  50. func (fa *FileApi) DeleteFileGenre(c *gin.Context) {
  51. var fileGenre dao.FileGenre
  52. err := c.ShouldBindJSON(&fileGenre)
  53. if err != nil {
  54. response.FailWithMessage("失败", c)
  55. global.GVA_LOG.Error("DeleteFileGenre ====== " + err.Error())
  56. return
  57. }
  58. err = fileService.DeleteFileGenre(fileGenre)
  59. if err != nil {
  60. response.FailWithMessage("失败", c)
  61. global.GVA_LOG.Error("DeleteFileGenre ====== " + err.Error())
  62. return
  63. }
  64. response.OkWithMessage("删除成功", c)
  65. }
  66. func (fa *FileApi) FileDownload(c *gin.Context) {
  67. path := c.Query("path")
  68. name := c.Query("name")
  69. c.Header("Content-Type", "application/octet-stream") // 表示是文件流,唤起浏览器下载,一般设置了这个,就要设置文件名
  70. c.Header("Content-Disposition", "attachment; filename="+name) // 用来指定下载下来的文件名
  71. c.Header("Content-Transfer-Encoding", "binary") // 表示传输过程中的编码形式,乱码问题可能就是因为它
  72. c.File(path)
  73. response.Ok(c)
  74. }