Laravel 使用RESTAPI压缩图像

Laravel 使用RESTAPI压缩图像,laravel,typescript,ionic3,Laravel,Typescript,Ionic3,这里有个大问题。我有7000个数据和图像可以从我的laravel服务器端调用。图像文件大约为1mb,图像位于本地资产laravel中。我没有问题显示图片和数据。但这需要很长时间才能完成。我尝试了很多建议,但没有给我解决方案。你们都能帮帮我吗。对不起,我的英语不好 注意:由于用户不想使用保存干预复制图像。我在路线上加了一些代码 路由::get('getpicture/{id}/{namefile},函数($id,$namefile){ $img=Image::make(public_path('i

这里有个大问题。我有7000个数据和图像可以从我的laravel服务器端调用。图像文件大约为1mb,图像位于本地资产laravel中。我没有问题显示图片和数据。但这需要很长时间才能完成。我尝试了很多建议,但没有给我解决方案。你们都能帮帮我吗。对不起,我的英语不好

注意:由于用户不想使用保存干预复制图像。我在路线上加了一些代码

路由::get('getpicture/{id}/{namefile},函数($id,$namefile){ $img=Image::make(public_path('img/'.$id./'.$namefile.'))->resize(80,80)->response('data-url'); 返回$img; });

但它仍然落后。我认为这是因为1个函数返回1个图像


还有什么解决方案吗?

您不应该为每个请求动态调整图像大小,因为它会消耗资源,并且可能是造成长时间延迟的原因


上传时调整图像大小,或者至少在第一次请求时存储已调整大小的图像,这样后续的每个请求都会更快,因为图像不必再次处理。

那么您到底尝试了什么?看起来在您的情况下,在一些云数据库中有图像是非常好的。另一个解决方案是调整图像大小,并使用库将质量较低/较小的图像返回给用户,如下所示:目前,im使用干预。由于用户不想以相同的名称保存两张图片,我正在使用路径::get('getpicture/{public}/{id}/{name_file}),函数($public,$id,$namefile){$img=img::make(public_path('img/'.$id./'.'.$namefile')->resize(300200)->response('data-url'))})。我用这个。和my img src=“{content.id}}/{content.namefile}”。加载映像需要很长时间,所以我必须创建一个函数来调用客户端的所有映像?或者在laravel服务器端创建另一个函数来压缩所有图像?在laravel端创建一个函数来压缩所有图像,或者保留当前设置,但在调整图像大小后保存图像,并检查是否存在已调整大小的图像:如果存在,则为已调整大小的图像提供服务,如果不存在,则调整图像大小并保存图像。这样,只有在第一次请求时才会调整大小。谢谢您的建议。实际上,我通过干预将base64映像保存到DB。尽管将图像存储在db中可能是一个很好的解决方案(更易于维护和备份),但这被认为是一种不好的做法。您应该将图像存储在磁盘上,只需将路径存储在db中,使用Laravel非常简单,并且这里提供了一些帮助包(例如:Spatial/Laravel medialibrary)。请求APi需要一些时间。laravel medialibrary意味着所有图像都存储到我的laravel服务器的本地?