php – Laravel Image thumb
发布时间:2020-12-14 19:42:16 所属栏目:大数据 来源:网络整理
导读:我制作了一个网络应用程序,其中上传的照片存储在/ app / storage中. 要显示我正在使用路由的文件ex:showphoto / {id}(路径存储在DB中) public function showphoto($id){ $photo = Photo::findOrFail($id); return $this-getFile($photo);}private function
我制作了一个网络应用程序,其中上传的照片存储在/ 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/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |