Image 将Laravel Glide与公用/上载文件夹一起使用

Image 将Laravel Glide与公用/上载文件夹一起使用,image,laravel-5.3,php-glide,Image,Laravel 5.3,Php Glide,我想使用我的所有图像源 根据,我可以在http://myweb.dev/img/test.jpg?w=200&filt=sepia 路线: Route::get('/img/{path}', 'ImageController@show')->where('path', '.*'); Route::get('uploads/{path}', 'ImageController@show')->where('path', '.*'); 控制器: namespace App\Http\

我想使用我的所有图像源

根据,我可以在
http://myweb.dev/img/test.jpg?w=200&filt=sepia

路线:

Route::get('/img/{path}', 'ImageController@show')->where('path', '.*');
Route::get('uploads/{path}', 'ImageController@show')->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());
    }
}
因为我所有的图片都是/public/uploads目录,所以我对它做了如下更改

路线:

Route::get('/img/{path}', 'ImageController@show')->where('path', '.*');
Route::get('uploads/{path}', 'ImageController@show')->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());
}
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' => public_path('uploads'),
            'cache' => public_path('uploads'),
            'cache_path_prefix' => '.cache',
            'base_url' => 'img',
        ]);

        return $server->getImageResponse($path, request()->all());
    }
}
当我转到时,我得到一个图像,没有任何更改,也没有创建任何.cache目录

我也尝试了
base\u path()
/uploads
,但都没有成功。我正在使用elfinder的上传目录

我做错了什么


这起作用了。我把图像放在
公共/上传
目录中

路线

控制器

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());
}
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' => public_path('uploads'),
            'cache' => public_path('uploads'),
            'cache_path_prefix' => '.cache',
            'base_url' => 'img',
        ]);

        return $server->getImageResponse($path, request()->all());
    }
}