2017-08-03 84 views
0

嗨我想用同樣的TimThumbs得到縮略圖,我正在使用干預圖像和干預緩存。干預圖像的縮略圖Laravel 5

我的縮略圖現在的URL結構:

大拇指/ 122x88 SRC =上傳/新聞/ news_40942c468090384b8135a6bbb79f631d.png

如何得到這樣一個地址:

/thumbs/upload/news/122x88-news_40942c468090384b8135a6bbb79f631d.png

我想刪除此"?src="?

我的航線代碼如下:

Route::get('thumbs/{imgw}x{imgh}/', function ($imgw,$imgh) 
{ 
    $src = \Input::get('src', 1); 
    $width = $imgw; 
    $height = $imgh; 

    $cacheimage = \Image::cache(function($image) use ($src,$width,$height) { 
     return $image->make($src)->resize($width,$height); 
    }, 1, false); 
    return Response::make($cacheimage, 200, array('Content-Type' => 'image/jpeg')); 
}); 

我試圖刪除"\Input::get",但它不工作。

+2

正如擡起頭時 - 你有圖像的路線,你基本上迫使整個Laravel應用程序引導你的頁面上的每個圖像的請求。 **這可能會變得非常麻煩!** – Ohgodwhy

+0

我有大約6000張圖片...所以我必須創建6千張縮略圖? 在我的網站上(我將它帶給Laravel)我正在使用timthumb,並且我對資源沒有任何問題... – LegoLiam

+0

是的,但是您無法將蘋果與橙色進行比較。 WordPress的很簡單;對於這些圖像中的每一個都沒有大的啓動引導,所以當然不會花費太長時間。通過Laravel,您可以設置IoC,綁定提供程序,創建請求,使用中間件進行過濾等等。它是適當的軟件。 – Ohgodwhy

回答

1

檢查出來我如何得到我的網站上的圖片: https://www.verhuisdieren.nl/

於是就imagecache.php(配置文件),我只是設置對所有圖像的路徑(可以說「路線」 =>'圖像「),當我上傳圖像時,我將它們上載到存儲文件夾中,並在保存之前重命名它們。從Laravel 5.3,你可以通過這樣的FileUploader類保存:

$request->get('image')->save('new-name'); 

,這然後加載它沒有任何前綴。

所以回顧一下:不要爲它創建一個路線,你已經在你的imagecache.php文件上有這個路線。然後,你可以得到的路線是這樣的:

url(config('imagecache.route'), ['YOUR-SIZE', 'FILENAME']); 

編輯:

配置文件的例子(配置文件imagecache.php):

https://pastebin.com/sf5CusYJ

+0

對不起,但文檔非常含糊,Imagecache.route是指什麼?你能讓我成爲一個配置示例嗎?使用緩存來調整大小,是否遇到放緩問題?我已經看到了你的網站,這只是我試圖獲得的結果 – LegoLiam

+0

他們爲這個背景設置了一個路由,所以無論你給那個'route'參數的路由,它都將被稱爲路由爲了取得你的形象。那麼你所要做的就是調用這個「url」函數,它爲你提供帶有裁剪大小的圖像url。 –