php – Laravel Image thumb

php – Laravel Image thumb,第1张

概述我制作了一个网络应用程序,其中上传的照片存储在/ app / storage中. 要显示我正在使用路由的文件ex:showphoto / {id}(路径存储在DB中) public function showphoto($id){ $photo = Photo::findOrFail($id); return $this->getFile($photo);}private 我制作了一个网络应用程序,其中上传的照片存储在/ app / storage中.
要显示我正在使用路由的文件ex:showphoto / {ID}(路径存储在DB中)

public function showphoto($ID){     $photo = Photo::findOrFail($ID);     return $this->getfile($photo);}private function getfile($f){        if($f->path){            $file = storage_path($f->path.'/'.$f->origin_name);            if (file::exists($file)) {                $contents = file::get($file);                switch($f->ext) {                    case "gif": $ctype="image/gif"; break;                    case "png": $ctype="image/png"; break;                    case "jpeg":                    case "jpg": $ctype="image/jpeg"; break;                    case "pdf": $ctype="application/pdf"; break;                    default:                }                $response = Response::make($contents,200);                $response->header('Content-Type',$ctype);                return $response;            }         }    }

显示我正在使用的图像

{{ HTML::image(route('showphoto',$photo->ID),$photo->getname(),array('class'=>'img-thumbnail','wIDth' => '100','height'=>'100')) }}

问题:有些文件超过2 MB,当我有一个列表时,它们的加载速度非常慢,所以在列表中我只想显示照片的拇指.
可以创建一个不会存储在任何地方的临时拇指吗?
或者每次加载页面时创建一个临时拇指都不是一个好主意.
先感谢您.

解决方法 如果您有一堆大图像,当您加载页面时,您将以某种方式进行处理,那么您可能会遇到不好的时间.所有额外的处理都会让一切都变慢.

您可以做的是在图像上传时为图像创建缩略图并将其存储在某处.这样,您只需加载缩略图而不是较大的图像.

或者,如果您希望能够在页面中指定缩略图的大小,则另一种解决方案可能是在页面加载时生成指定大小的缩略图.您需要确保缓存这些缩略图,以便您可以使用它们继续加载它们.如果您选择这种方法,第一次加载页面可能需要一段时间,但之后,后续页面加载会更快,因为它将使用预先创建的缓存图像.

在 *** 作图像时与Laravel一起使用的一个很好的包是干预图像:

http://image.intervention.io/

总结

以上是内存溢出为你收集整理的php – Laravel Image thumb全部内容,希望文章能够帮你解决php – Laravel Image thumb所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1256186.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存