2017-06-22 51 views
1

對於旅行應用程序,移動應用程序需要從其城市代碼獲取每個城市的默認圖像。如果未找到圖像,則返回默認圖像Laravel干預

例如:example.com/imageCache/thumbnail/JFK.png

凡縮略圖自定義過濾器定義爲:

/** 
* Sample filter for image manipulation 
* via image cache 
*/ 

namespace App\ImageFilters; 


use Intervention\Image\Filters\FilterInterface; 
use Intervention\Image\Image; 
use Intervention\Image\ImageManagerStatic; 

class Thumbnail implements FilterInterface 
{ 

    /** 
    * Applies filter to given image 
    * 
    * @param Image $image 
    * @return Image 
    */ 
    public function applyFilter(Image $image) 
    { 
     //TODO: Do something to check if the image doesn't exist. 

     $gradient = ImageManagerStatic::make(public_path('images/gradient.png')); 
     return $image->fit(200, 200)->insert($gradient,'center')->blur(); 
    } 
} 

的應用然而拋出404調用此函數甚至之前。

我想顯示一個默認圖像,如果圖像沒有找到。

在此先感謝。

+0

我認爲THRE是一個問題,在你的路線! – Maraboc

+0

我們可以看到make命令嗎? – Ohgodwhy

+0

它適用於存在的圖像。只要圖像不存在,它就會崩潰。 –

回答

1

這種情況下的URL操作可能不起作用。

寫路線getCityImage/{cityCode}爲:

public function getCityImage($cityCode){ 

    if(file_exists('path_to_city_images/'.$cityCode.'.png'){ 
     $image = Intervention\Image\Image::make('path_to_city_images/'.$cityCode.'.png'); 
     return $image->filter(new Thumbnail()); 
     } 
     else { 
     return $your_default_image; 
     } 

} 
相關問題