对于旅行应用程序,移动应用程序需要从其城市代码获取每个城市的默认图像。
例如: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 :(得分: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;
}
}