This commit is contained in:
u2nyakim 2025-08-28 15:19:57 +08:00
parent aed7fb6141
commit ac282d57d5
2 changed files with 23 additions and 26 deletions

View File

@ -13,6 +13,27 @@ use think\response\Json;
class FileController extends BaseController class FileController extends BaseController
{ {
public function download()
{
$fileId = \request()->route('fileId');
$fileExt = hashids(12)->decode($fileId)[0] ?? '';
$data = \app\entity\SysFileRecord::find($fileExt);
$fileUrl = filesystem()->getFileUrl($data['rule_id'], $data['id'], $data['path'].'/'.$data['name'], true);
if(empty($fileUrl)){
return json(['message'=>'文件不存在']);
}
$mime = "image/jpeg";
// header('Content-Type: ' . $mime);
// header('Content-Disposition: attachment; filename="b7b9f5caae81dc32ba2a062e00247270.jpg"');
// header('Content-Length: 928318');
// echo file_get_contents($fileUrl);
return \response()->content(file_get_contents($fileUrl))->header([
'Content-Type'=> $mime,
'Content-Disposition'=> 'attachment; filename="b7b9f5caae81dc32ba2a062e00247270.jpg"',
'Content-Length' => 928318
]);
}
/** /**
* 分页查询账号登录记录 * 分页查询账号登录记录
* @return Json * @return Json

View File

@ -23,26 +23,8 @@ use app\http\middleware\AuthMiddleware;
use think\facade\Route; use think\facade\Route;
use think\middleware\AllowCrossDomain; use think\middleware\AllowCrossDomain;
Route::get("/i/down/:fileId", function (){ // 文件下载
// return json(['message'=>'暂不支持下载']); Route::get("/i/down/:fileId", [FileController::class, 'download']);
$fileId = \request()->route('fileId');
$fileExt = hashids(12)->decode($fileId)[0] ?? '';
$data = \app\entity\SysFileRecord::find($fileExt);
$fileUrl = filesystem()->getFileUrl($data['rule_id'], $data['id'], $data['path'].'/'.$data['name'], true);
if(empty($fileUrl)){
return json(['message'=>'文件不存在']);
}
$mime = "image/jpeg";
header('Content-Type: ' . $mime);
header('Content-Disposition: attachment; filename="b7b9f5caae81dc32ba2a062e00247270.jpg"');
header('Content-Length: 928318');
echo file_get_contents($fileUrl);
exit;
});
Route::get("/i/:fileId", function (){ Route::get("/i/:fileId", function (){
$fileId = \request()->route('fileId'); $fileId = \request()->route('fileId');
$fileExt = hashids(12)->decode($fileId)[0] ?? ''; $fileExt = hashids(12)->decode($fileId)[0] ?? '';
@ -54,14 +36,8 @@ Route::get("/i/:fileId", function (){
} }
$mime = "image/jpeg"; $mime = "image/jpeg";
header('Content-Type: ' . $mime); header('Content-Type: ' . $mime);
// header('Content-Disposition: attachment; filename="b7b9f5caae81dc32ba2a062e00247270.jpg"');
// header('Content-Length: 928318');
echo file_get_contents($fileUrl); echo file_get_contents($fileUrl);
exit; exit;
// $fileCo = file_get_contents($fileUrl);
// $base64Image = base64_encode($fileCo);
// echo '<img src="data:image/jpeg;base64,' . $base64Image . '" alt="My Image">';
// exit;
}); });
Route::group("adminapi", function () { Route::group("adminapi", function () {