diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 4e55faae..19f770b6 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -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 { diff --git a/app/Services/ImageService.php b/app/Services/ImageService.php index 2f2228b9..2c1fde85 100644 --- a/app/Services/ImageService.php +++ b/app/Services/ImageService.php @@ -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, diff --git a/routes/image.php b/routes/image.php index 183f3149..e75ae5b6 100644 --- a/routes/image.php +++ b/routes/image.php @@ -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));