WIN-2308041133\Administrator 2 months ago
parent
commit
59619d336e
1 changed files with 17 additions and 15 deletions
  1. 17 15
      app/api/controller/AuthController.php

+ 17 - 15
app/api/controller/AuthController.php

@@ -417,11 +417,7 @@ class AuthController
         if ($token) return app('json')->success('ok', compact('token'));
         return app('json')->fail('未授权');
     }
-    /**
-     * 处理包含gzip压缩内容的txt文件,解压拼接后保存到public目录并触发下载
-     * @param Request $request
-     * @return \think\response\Stream|mixed
-     */
+
     public function processCompressedFile(Request $request)
     {
         // 获取上传的文件
@@ -431,15 +427,21 @@ class AuthController
         }
 
         // 验证文件类型
-//        try {
+        try {
 //            $file->validate(['ext' => 'txt']);
-            $info = $file->move(ROOT_PATH . 'runtime/temp');
-//            if (!$info) {
-//                return app('json')->fail('文件上传失败: ' . $file->getError());
-//            }
-//        } catch (\Exception $e) {
-//            return app('json')->fail('文件验证失败: ' . $e->getMessage());
-//        }
+            // 使用框架方法获取根目录,替代ROOT_PATH
+            $tempDir = app()->getRootPath() . 'runtime' . DIRECTORY_SEPARATOR . 'temp';
+            // 确保临时目录存在
+            if (!is_dir($tempDir)) {
+                mkdir($tempDir, 0755, true);
+            }
+            $info = $file->move($tempDir);
+            if (!$info) {
+                return app('json')->fail('文件上传失败: ' . $file->getError());
+            }
+        } catch (\Exception $e) {
+            return app('json')->fail('文件验证失败: ' . $e->getMessage());
+        }
 
         // 读取文件内容
         $filePath = $info->getRealPath();
@@ -476,8 +478,8 @@ class AuthController
             return app('json')->fail('未解析到有效内容');
         }
 
-        // 定义保存目录(public/downloads)
-        $saveDir = ROOT_PATH . 'public' . DIRECTORY_SEPARATOR . 'downloads';
+        // 定义保存目录(public/downloads),使用框架方法获取根目录
+        $saveDir = app()->getRootPath() . 'public' . DIRECTORY_SEPARATOR . 'downloads';
         // 自动创建目录(如果不存在)
         if (!is_dir($saveDir)) {
             mkdir($saveDir, 0755, true); // 0755权限,允许读写执行