当我上传图像时(例如:user/1/user_profile_img.jpg
,我希望干预图像创建多个缩略图尺寸(100x100
,200x200
,400x400
等),这些尺寸将用于不同页面以提高页面速度得分。
是否应该在自定义100x100
文件夹中存储不同的缩略图大小(200x200
,400x400
,/cache/
等)?就像“ /cache/user/1/user_profile_img-100x100.jpg
?
或者当我通过干预图像缓存调整大小路线访问页面时生成它们:
{{ route('photos/item/100x100/userprofile/user_profile_img.jpg') }}
在blade.php模板中?
Route::get('photos/item/{size}/{reference}/{photo}', 'ImgController@showImg');
我看到干预图像缓存功能中有一个'lifetime (optional)
'参数:
$img = Image::cache(function($image) {
$image->make('public/foo.jpg')->resize(300, 200)->greyscale();
}, 10, true);
缓存中图像回调的生命周期,以分钟为单位。
是用于设置图像缓存的到期时间吗?
是否将图像从/cache/
文件夹中自动删除?
答案 0 :(得分:0)
“我应该存储不同的缩略图大小吗?还是在访问页面时生成它们?”
在请求期间调整图像大小可能需要相对较长的时间,因此,如果您可以在上传图像时(或在立即触发的后台作业中)生成各种尺寸,那么我建议这样做。
即使您使用了Intervention的缓存功能,当重新调整大小的图像最近没有被缓存时,您可能最终也常常需要“预热”页面。这可能取决于您的流量模式和缓存实现,但是如果它对您有用,那就太好了。