Files
einundzwanzig-portal/app/Http/Controllers/ImageController.php
HolgerHatGarKeineNode 5a4322b035 images corrected
2023-04-25 11:23:46 +02:00

36 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Contracts\Filesystem\Filesystem;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use League\Glide\Responses\LaravelResponseFactory;
use League\Glide\ServerFactory;
class ImageController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
*
* @return \Illuminate\Http\Response
*/
public function __invoke(Request $request, Filesystem $filesystem, $path)
{
$filesystemPublic = Storage::disk('publicDisk');
$server = ServerFactory::create([
'response' => new LaravelResponseFactory(app('request')),
'source' => str($request->path())->contains('img-public') ? $filesystemPublic->getDriver() : $filesystem->getDriver(),
'cache' => $filesystem->getDriver(),
'cache_path_prefix' => '.cache',
'base_url' => $request->route()
->getName() === 'imgPublic' ? '' : 'img',
]);
return $server->getImageResponse($path, request()->all());
}
}