在我的其中一页中,我显示了多张图像。我通过连接到控制器方法的路由获取图像。像这样:
视图中:
(inside foreach)
<img width="100" src="viewBook/get/...." >
在控制器方法中:
$img = Image::make('images/test.jpg');
return $img->response('jpg');
但这是一个很慢的方法。当我显示13张图片时,几乎需要10秒钟。而且,当我通过Chrome DevTools检查时,大多数时间都被视为“空闲”。当然,它们会一一加载。
我如何使其更快?也许是并行响应,还是增加了ngingx带宽?
谢谢。
答案 0 :(得分:0)
我想您正在使用Intervention Image软件包。但是,没有必要将所有图像放入此包装中。如果这样做,该程序包将处理图像,这将花费大量时间。
如果只想返回图像,则可以使用built-in file response来完成。
return response()->file('images/test.jpg');
这将直接从文件系统加载文件,并且速度更快。
答案 1 :(得分:0)
缩短响应时间非常困难。这取决于各种原因,例如服务器,互联网速度,位置,图像大小等。
在这种情况下,可以使用imagix(https://www.imgix.com/)之类的服务,并且对我们来说效果很好。它比调整其他参数以缩短响应时间便宜。