piccontrller.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package controller
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "strconv"
  5. "time"
  6. "trading-go/model"
  7. "trading-go/response"
  8. )
  9. // Upload
  10. // @Tags 图片模块
  11. // @Summary 上传图片
  12. // @Accept multipart/form-data
  13. // @Produce application/json
  14. // @Param pic formData file true "图片"
  15. // @Success 200 {object} response.Response
  16. // @Router /pic/upload [post]
  17. func Upload(c *gin.Context) {
  18. var pic model.Pic
  19. file, err := c.FormFile("pic")
  20. if err != nil {
  21. msg := err.Error()
  22. response.Fail(c.Writer, msg, 500)
  23. return
  24. }
  25. file.Filename = time.Now().String() + file.Filename
  26. path := "./pic/" + file.Filename
  27. err = c.SaveUploadedFile(file, path)
  28. if err != nil {
  29. msg := err.Error()
  30. response.Fail(c.Writer, msg, 500)
  31. return
  32. }
  33. url := "http://" + c.Request.Host + file.Filename
  34. pic.Name = file.Filename
  35. pic.Url = url
  36. err = pic.Save()
  37. if err != nil {
  38. msg := err.Error()
  39. response.Fail(c.Writer, msg, 500)
  40. return
  41. }
  42. response.Success(c.Writer, "success", model.Pic{})
  43. }
  44. // GetAllPic
  45. // @Tags 图片模块
  46. // @Summary 获取所有图片
  47. // @Produce application/json
  48. // @Success 200 {object} response.Response
  49. // @Router /pic [get]
  50. func GetAllPic(c *gin.Context) {
  51. var pic model.Pic
  52. pics, err := pic.GetAll()
  53. if err != nil {
  54. msg := err.Error()
  55. response.Fail(c.Writer, msg, 500)
  56. return
  57. }
  58. response.Success(c.Writer, "success", pics)
  59. }
  60. // DPic
  61. // @Tags 图片模块
  62. // @Summary 删除图片
  63. // @Produce application/json
  64. // @Param id path uint true "图片id"
  65. // @Success 200 {object} response.Response
  66. // @Router /pic/delete/{id} [delete]
  67. func DPic(c *gin.Context) {
  68. var pic model.Pic
  69. ids := c.Param("id")
  70. id, err := strconv.Atoi(ids)
  71. if err != nil {
  72. response.Fail(c.Writer, err.Error(), 500)
  73. return
  74. }
  75. pic.Id = uint(id)
  76. err = pic.Delete()
  77. if err != nil {
  78. msg := err.Error()
  79. response.Fail(c.Writer, msg, 500)
  80. return
  81. }
  82. response.Success(c.Writer, "success", nil)
  83. }