upload.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package admin
  2. import (
  3. "gfast/app/service/admin/upload_service"
  4. "gfast/library/response"
  5. "github.com/gogf/gf/frame/g"
  6. "github.com/gogf/gf/net/ghttp"
  7. "github.com/gogf/gf/text/gstr"
  8. "net/url"
  9. )
  10. type Upload struct{}
  11. //CkEditor编辑器上传附件
  12. func (c *Upload) CkEditorUp(r *ghttp.Request) {
  13. upFile := r.GetUploadFile("upload")
  14. fType := gstr.ToLower(r.GetString("type"))
  15. var info *upload_service.FileInfo
  16. var err error
  17. if fType == "images" {
  18. info, err = upload_service.UpImg(upFile)
  19. } else if fType == "files" {
  20. info, err = upload_service.UpFile(upFile)
  21. }
  22. if err != nil {
  23. r.Response.WriteJson(g.Map{"error": g.Map{"message": "上传失败," + err.Error(), "number": 105}})
  24. } else {
  25. parseInfo, _ := url.Parse(r.GetUrl())
  26. r.Response.WriteJson(g.Map{"fileName": info.FileName, "uploaded": 1, "url": parseInfo.Scheme + "://" + parseInfo.Host + "/" + info.FileUrl})
  27. }
  28. }
  29. //单图片上传
  30. func (c *Upload) UpImg(r *ghttp.Request) {
  31. upFile := r.GetUploadFile("file")
  32. info, err := upload_service.UpImg(upFile)
  33. if err != nil {
  34. response.FailJson(true, r, "上传失败,"+err.Error())
  35. }
  36. res := g.Map{
  37. "fileInfo": info,
  38. }
  39. response.SusJson(true, r, "上传成功", res)
  40. }
  41. //批量上传图片
  42. func (c *Upload) UpImgs(r *ghttp.Request) {
  43. upFiles := r.GetUploadFiles("file")
  44. infos, err := upload_service.UpImgs(upFiles)
  45. if err != nil {
  46. response.FailJson(true, r, "上传失败,"+err.Error())
  47. }
  48. res := g.Map{
  49. "fileInfos": infos,
  50. }
  51. response.SusJson(true, r, "上传成功", res)
  52. }
  53. //单文件上传
  54. func (c *Upload) UpFile(r *ghttp.Request) {
  55. upFile := r.GetUploadFile("file")
  56. info, err := upload_service.UpFile(upFile)
  57. if err != nil {
  58. response.FailJson(true, r, "上传失败,"+err.Error())
  59. }
  60. res := g.Map{
  61. "fileInfo": info,
  62. }
  63. response.SusJson(true, r, "上传成功", res)
  64. }
  65. //批量上传文件
  66. func (c *Upload) UpFiles(r *ghttp.Request) {
  67. upFiles := r.GetUploadFiles("file")
  68. infos, err := upload_service.UpFiles(upFiles)
  69. if err != nil {
  70. response.FailJson(true, r, "上传失败,"+err.Error())
  71. }
  72. res := g.Map{
  73. "fileInfos": infos,
  74. }
  75. response.SusJson(true, r, "上传成功", res)
  76. }