Browse Source

后端文件验证修复

sugangqiang 2 năm trước cách đây
mục cha
commit
74869b1898

+ 16 - 7
app/ExceptionHandle.php

@@ -1,4 +1,5 @@
 <?php
+
 namespace app;
 
 use think\db\exception\DataNotFoundException;
@@ -13,8 +14,8 @@ use Throwable;
 /**
  * 应用异常处理类
  */
-class ExceptionHandle extends Handle
-{
+class ExceptionHandle extends Handle {
+
     /**
      * 不需要记录信息(日志)的异常类列表
      * @var array
@@ -34,8 +35,7 @@ class ExceptionHandle extends Handle
      * @param  Throwable $exception
      * @return void
      */
-    public function report(Throwable $exception): void
-    {
+    public function report(Throwable $exception): void {
         // 使用内置的方式记录异常日志
         parent::report($exception);
     }
@@ -48,11 +48,20 @@ class ExceptionHandle extends Handle
      * @param Throwable $e
      * @return Response
      */
-    public function render($request, Throwable $e): Response
-    {
+    public function render($request, Throwable $e): Response {
         // 添加自定义异常处理机制
-
+        if ($request->param("backName")) {
+            //针对现在这个前端界面的特殊的错误返回方式
+            $index = $request->param("index");
+            $responseObj = new \stdClass();
+            $responseObj->obj = $index;
+            $responseObj->code = 500;
+            $responseObj->msg = $e->getMessage();
+            echo \StrUtil::back($responseObj, $request->param("backName"));
+            exit();
+        }
         // 其他错误交给系统处理
         return parent::render($request, $e);
     }
+
 }

+ 2 - 2
app/common/api/UploadApi.php

@@ -28,7 +28,7 @@ class UploadApi {
      */
     public function uploadList($files, $path = "uploadfiles") {
         try {
-            validate(['image' => ["sileSize" => $this->fileSize, "fileExt" => $this->fileExt, "fileMime" => $this->fileMime]])
+            validate(['image' => ["fileSize" => $this->fileSize, "fileExt" => $this->fileExt, "fileMime" => $this->fileMime]])
                     ->check($files);
             $savename = [];
             foreach ($files as $file) {
@@ -49,7 +49,7 @@ class UploadApi {
     public function uploadOne($file, $type, $path = "uploadfiles") {
         $upload_result = new \StdClass();
         try {
-            switch ($type){
+            switch ($type) {
                 case 'image':
                     $check = ['image' => $file];
                     break;

+ 2 - 1
app/common/controller/Api.php

@@ -519,7 +519,8 @@ class Api extends BaseController {
         $uploadapi = new UploadApi();
         $file_check_res = $uploadapi->uploadOne($this->request->file('fileUrl'), 'system');
         if ($file_check_res->code == 500) {
-            return \StrUtil::back($file_check_res, "Register.epCallBack");
+            $file_check_res->obj = $index;
+            return \StrUtil::back($file_check_res, $backName);
         }
 
         $file_data = [

+ 2 - 2
app/common/validate/Upload.php

@@ -8,7 +8,7 @@ class Upload extends Validate
     protected $rule = [
         'image' => ['fileExt' => 'jpg,png,gif,jpeg', 'fileSize' => 5 * 1024 * 1024, 'fileMime' => 'image/jpg,image/png,image/gif,image/jpeg'],
         'file' => ['fileExt' => 'pdf,doc,docx,xlsx,xls,csv', 'fileSize' => 10 * 1024 * 1024,'fileMime' => 'application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
-        'hybrid' => ['fileExt' => 'zip,rar,7z', 'fileSize' => 50 * 1024 * 1024, 'fileMime' => 'application/zip,application/x-rar-compressed,application/x-7z-compressed'],
+        'hybrid' => ['fileExt' => 'zip,rar,7z', 'fileSize' => 10 * 1024 * 1024, 'fileMime' => 'application/zip,application/x-rar-compressed,application/x-7z-compressed'],
         'system' => ['fileExt' => 'jpg,png,gif,jpeg,pdf,doc,docx,xlsx,xls,csv', 'fileSize' => 10 * 1024 * 1024, 'fileMime' => 'image/jpg,image/png,image/gif,image/jpeg,application/pdf,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']
     ];
 
@@ -20,7 +20,7 @@ class Upload extends Validate
         'file.fileSize' => '文件大小不能大于10兆',
         'file.fileMime' => '文件类型不支持',
         'hybrid.fileExt'=> '文件的格式支持:zip,rar,7z',
-        'hybrid.fileSize' => '文件大小不能大于50兆',
+        'hybrid.fileSize' => '文件大小不能大于10兆',
         'hybrid.fileMime' => '文件类型不支持',
         'system.fileExt' => '文件的格式仅支持:png,jpg,jpeg,gif,pdf',
         'system.fileSize' => '文件大小不能大于10兆',