2017-01-05 74 views
0

我想爲我的所有圖像源使用​​。在公共/上傳文件夾中使用Laravel-Glide

this instruction,我可以在http://myweb.dev/img/test.jpg?w=200&filt=sepia得到一個圖像。

enter image description here

路線:

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的上傳目錄。

我在這裏做錯了什麼?

enter image description here

回答

0

這工作。我把圖片放在public/uploads目錄下。

路線

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

     return $server->getImageResponse($path, request()->all()); 
    } 
} 
相關問題