upload_file.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package task
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "go.uber.org/zap"
  5. "log-server/global"
  6. "log-server/model/common/response"
  7. taskReq "log-server/model/task/request"
  8. taskRes "log-server/model/task/response"
  9. "log-server/utils"
  10. "strconv"
  11. )
  12. type UploadFileApi struct {
  13. }
  14. func (b *UploadFileApi) UploadFile(c *gin.Context) {
  15. _, header, err := c.Request.FormFile("file")
  16. if err != nil {
  17. global.GVA_LOG.Error("接收文件失败!", zap.Error(err))
  18. response.FailWithMessage("接收文件失败", c)
  19. return
  20. }
  21. gameID := c.PostForm("game_id")
  22. var fileRes taskRes.UploadFileResponse
  23. gameId, _ := strconv.Atoi(gameID)
  24. fileRes, err = uploadFileService.UploadFile(gameId, header) // 文件上传后拿到文件路径
  25. if err != nil {
  26. global.GVA_LOG.Error("修改数据库链接失败!", zap.Error(err))
  27. response.FailWithMessage("修改数据库链接失败", c)
  28. return
  29. }
  30. response.OkWithDetailed(taskRes.InfoResponse{fileRes}, "上传成功", c)
  31. }
  32. func (b *UploadFileApi) DownloadFile(c *gin.Context) {
  33. var info taskReq.DownloadRequest
  34. _ = c.ShouldBindJSON(&info)
  35. if err := utils.Verify(info, utils.DownloadFileVerify); err != nil {
  36. response.FailWithMessage(err.Error(), c)
  37. return
  38. }
  39. downloadFile, err := uploadFileService.DownloadFile(info.GameId, info.Md5String)
  40. if err != nil {
  41. global.GVA_LOG.Error("查询失败!", zap.Error(err))
  42. response.FailWithMessage("查询失败", c)
  43. } else {
  44. response.OkWithDetailed(taskRes.DownloadInfoResponse{downloadFile}, "查询成功", c)
  45. }
  46. }