Laravel通过响应服务多个图像

时间:2019-01-19 20:25:15

标签: laravel image performance security laravel-5

在我的应用程序的一部分中,我试图将图像裁剪成拼图之类的碎片,然后通过Image Intervention和-> response()将其提供服务。 一切正常,但问题在于性能。

注意: 图像是即时裁剪的。

比方说,图像有60个片段,这意味着60个裁剪和60个响应。要花费这么长时间才能完成。即使是36张图像,也要花费约13秒的时间。

有人建议使用Image Intervention缓存,但是并没有做太多,因此我的方法根据参数进行裁剪。所以每次都是不同的包裹。

当前考虑进行一次裁剪,然后保存。因此,我将使用保存的裁剪宗地,因此避免对每个宗地进行laravel响应。但是问题是,我正在提供的图像是敏感的并且是私人的。所以我不能将其存储在公共场所。如果我想将其存储在“存储”中,则必须创建一个方法,然后再次创建-> response(),它不会改变任何内容。

代码:


方法: 公共函数getParcel(Request $ request,$ row,$ column)     {

    $img = Image::make('images/test.jpg');
    $width=$img->width();
    $height=$img->height();
    $scopeW=$width/5;
    $scopeH=$height/5;
    $padderW=$scopeW*($column-1);
    $padderH=$scopeH*($row-1);
    return $img->crop(floor($scopeW), floor($scopeH),floor($padderW) ,floor($padderH)) ->response();

}

视图中这样调用: (在double foreach内部,用于行和列)

<img width="100" src="view/get/{{$i}}/{{$j}}" >

卡在这些选项之间。哪一个更可行和更一致? 预先感谢。

0 个答案:

没有答案