TalentCommonFile.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\common\AdminController;
  4. use app\common\api\UploadApi;
  5. use think\facade\Db;
  6. /**
  7. * Description of TalentCommonFile
  8. *
  9. * @author sgq
  10. */
  11. class TalentCommonFile extends AdminController {
  12. public function uploadBatch() {
  13. $response = new \stdClass();
  14. $response->code = 500;
  15. $memo = $this->request["memo"];
  16. $fileTag = $this->request["fileTag"];
  17. if (!$fileTag) {
  18. $response->msg = "没有提交文件类型标识,无法按文件类型归档,上传被中止";
  19. return json($response);
  20. }
  21. if (!$memo) {
  22. $response->msg = "没有提交批次信息,无法按批次归档,上传被中止";
  23. return json($response);
  24. }
  25. if (!$this->request->file()) {
  26. $response->msg = "没有上传任何材料";
  27. return json($response);
  28. }
  29. preg_match_all("/[\x{4e00}-\x{9fa5}a-zA-Z0-9]/u", ucwords($fileTag), $matches);
  30. $pathName = "TalentCommonFile";
  31. if ($matches[0]) {
  32. $pathName = join("", $matches[0]);
  33. }
  34. $file = $this->request->file("file");
  35. $upload = new UploadApi();
  36. $result = $upload->uploadOne($file, "system", "talent/{$pathName}");
  37. if ($result->code != 200) {
  38. $response->msg = $result->msg;
  39. return json($response);
  40. }
  41. $data["id"] = getStringId();
  42. $data["fileTag"] = $fileTag;
  43. $data["url"] = $result->filepath;
  44. $data["originalName"] = $file->getOriginalName();
  45. $data["memo"] = $memo;
  46. $data["createTime"] = date("Y-m-d H:i:s");
  47. $data["createUser"] = $this->user["uid"];
  48. $res = Db::table("new_non_predefined_file")->insert($data);
  49. $response->code = 200;
  50. $response->msg = "上传成功";
  51. return json($response);
  52. }
  53. }