sys_file.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package system
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "go_server/base/config"
  5. "go_server/model/common/response"
  6. "go_server/service/base"
  7. "go_server/utils"
  8. )
  9. type FileService struct {
  10. base.SysCommonService
  11. }
  12. func (s *FileService) UploadFile(c *gin.Context) {
  13. _, header, err := c.Request.FormFile("file")
  14. if err != nil {
  15. response.Resp(c, "接收文件失败")
  16. return
  17. }
  18. path, file, err := config.EnvConf().File.UploadFile(header) // 文件上传后拿到文件路径
  19. if err != nil {
  20. response.Resp(c, err.Error())
  21. return
  22. }
  23. response.Resp(c, map[string]interface{}{
  24. "path": path,
  25. "file": file,
  26. })
  27. }
  28. func (s *FileService) DeleteFile(c *gin.Context) {
  29. filename, ok := c.GetQuery("filename")
  30. if !ok {
  31. response.Resp(c, "接收文件失败")
  32. return
  33. }
  34. err := config.EnvConf().File.DeleteFile(filename) // 文件上传后拿到文件路径
  35. if err != nil {
  36. response.Resp(c, err.Error())
  37. return
  38. }
  39. response.Resp(c)
  40. }
  41. func (s *FileService) OssAuth(c *gin.Context) {
  42. resp, err := config.StsAliEngin().AliSTS("fomo-sts")
  43. if err != nil {
  44. response.Resp(c, err.Error())
  45. return
  46. }
  47. savePath := utils.ToPath(config.EnvConf().StsOss.BasePath)
  48. response.Resp(c, map[string]any{
  49. "region": config.EnvConf().StsOss.StsRegion,
  50. "bucket": config.EnvConf().StsOss.BucketName,
  51. "bucketUrl": config.EnvConf().StsOss.BucketUrl,
  52. "credentials": resp.Body.Credentials,
  53. "filePath": savePath,
  54. })
  55. }