修复缩略图中带有大写的拓展名导致无法输出图片的bug

This commit is contained in:
Wisp X
2022-03-12 16:31:00 +08:00
parent 90cb1ec918
commit 5781077cfa
3 changed files with 4 additions and 3 deletions

View File

@@ -137,7 +137,7 @@ class Controller extends BaseController
$image = Image::query()
->with('group')
->where('key', $request->route('key'))
->where('extension', $request->route('extension'))
->where('extension', strtolower($request->route('extension')))
->firstOr(fn() => abort(404));
if (! $image->group->configs->get(GroupConfigKey::IsEnableOriginalProtection)) {
abort(404);
@@ -176,7 +176,7 @@ class Controller extends BaseController
/** @var Image $image */
$image = Image::query()
->where('key', $request->route('key'))
->where('extension', $request->route('extension'))
->where('extension', strtolower($request->route('extension')))
->firstOr(fn() => abort(404));
try {

View File

@@ -158,7 +158,7 @@ class ImageService
'origin_name' => $file->getClientOriginalName(),
'size' => $file->getSize() / 1024,
'mimetype' => $file->getMimeType(),
'extension' => $file->extension(),
'extension' => strtolower($file->extension()),
'width' => $img->width(),
'height' => $img->height(),
'is_unhealthy' => false,

View File

@@ -7,6 +7,7 @@ use App\Enums\ConfigKey;
$extensions = config('convention.app.'.ConfigKey::Group)[GroupConfigKey::AcceptedFileSuffixes];
Route::middleware('cache.headers:public;max_age=2628000;etag')->group(function () use ($extensions) {
$extensions = array_merge(array_map('strtoupper', $extensions), array_map('strtolower', $extensions));
Route::any('{key}.{extension}', [
Controller::class, 'output',
])->where('extension', implode('|', $extensions));