0
我想爲我的所有圖像源使用。在公共/上傳文件夾中使用Laravel-Glide
繼this instruction,我可以在http://myweb.dev/img/test.jpg?w=200&filt=sepia
得到一個圖像。
路線:
Route::get('/img/{path}', '[email protected]')->where('path', '.*');
控制器:
namespace App\Http\Controllers;
use Illuminate\Contracts\Filesystem\Filesystem;
use League\Glide\Responses\LaravelResponseFactory;
use League\Glide\ServerFactory;
class ImageController extends Controller
{
public function show(Filesystem $filesystem, $path)
{
$server = ServerFactory::create([
'response' => new LaravelResponseFactory(app('request')),
'source' => $filesystem->getDriver(),
'cache' => $filesystem->getDriver(),
'cache_path_prefix' => '.cache',
'base_url' => 'img',
]);
return $server->getImageResponse($path, request()->all());
}
}
因爲我所有的圖像/公/上傳目錄下,我改變了它的下面。
路線:
Route::get('uploads/{path}', '[email protected]')->where('path', '.*');
控制器
public function show(Filesystem $filesystem, $path)
{
$server = ServerFactory::create([
'response' => new LaravelResponseFactory(app('request')),
'source' => public_path(),
'cache' => public_path(),
'cache_path_prefix' => '.cache',
'base_url' => 'uploads',
]);
return $server->getImageResponse($path, request()->all());
}
當我去http://myweb.dev/uploads/test.jpg?w=200&filt=sepia,我得到的圖像沒有任何變化,也沒有創建任何.cache目錄。
我試過base_path()
和/uploads
,但也沒有工作。我正在使用elfinder的上傳目錄。
我在這裏做錯了什麼?