|
|
@@ -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权限,允许读写执行
|