Attachment.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace app\worker\controller;
  3. use think\facade\Session;
  4. use think\facade\Request;
  5. use think\facade\Filesystem;
  6. use app\common\model\Attachment as AttachmentModel;
  7. class Attachment
  8. {
  9. // 文件上传
  10. public function tplFieldFile()
  11. {
  12. $file = request()->file("file");
  13. $savename = \think\facade\Filesystem::disk('public')->putFile('files', $file);
  14. if ($file) {
  15. $filename = str_replace(strrchr($_FILES['file']['name'], "."), "", $_FILES['file']['name']);
  16. $attachment = AttachmentModel::create([
  17. 'filename' => $filename,
  18. 'atype' => 4,
  19. 'attachment' => request()->domain() . "/attachment/" . str_replace("\\", "/", $savename),
  20. 'createtime' => time(),
  21. ]);
  22. exit(json_encode([
  23. 'code' => 0,
  24. 'msg' => "",
  25. 'data' => [
  26. 'src' => request()->domain() . "/attachment/" . str_replace("\\", "/", $savename),
  27. 'path' => "./attachment/" . str_replace("\\", "/", $savename),
  28. 'title' => $filename,
  29. ],
  30. ]));
  31. } else {
  32. exit(json_encode([
  33. 'code' => 1,
  34. 'msg' => "上传失败,请稍后重试",
  35. ]));
  36. }
  37. }
  38. // 图片上传
  39. public function tplFieldImage()
  40. {
  41. $this->validateExt(['jpg', 'png', 'jpeg']);
  42. $file = request()->file("file");
  43. $savename = \think\facade\Filesystem::disk('public')->putFile('images', $file);
  44. if ($file) {
  45. $filename = str_replace(strrchr($_FILES['file']['name'], "."), "", $_FILES['file']['name']);
  46. $attachment = AttachmentModel::create([
  47. 'filename' => $filename,
  48. 'atype' => 1,
  49. 'attachment' => request()->domain() . "/attachment/" . str_replace("\\", "/", $savename),
  50. 'createtime' => time(),
  51. ]);
  52. exit(json_encode([
  53. 'code' => 0,
  54. 'msg' => "",
  55. 'data' => [
  56. 'src' => request()->domain() . "/attachment/" . str_replace("\\", "/", $savename),
  57. 'title' => $filename,
  58. ],
  59. ]));
  60. } else {
  61. exit(json_encode([
  62. 'code' => 1,
  63. 'msg' => "上传失败,请稍后重试",
  64. ]));
  65. }
  66. }
  67. public function validateExt($ext_arr)
  68. {
  69. $ext = pathinfo($_FILES['file']['name'])['extension'];
  70. if (!in_array($ext, $ext_arr)) {
  71. exit(json_encode([
  72. 'code' => 1,
  73. 'msg' => "文件格式不正确",
  74. ]));
  75. }
  76. }
  77. }