2017-08-03 55 views
0

嗨我想用同样的TimThumbs得到缩略图,我正在使用干预图像和干预缓存。干预图像的缩略图Laravel 5

我的缩略图现在的URL结构:

大拇指/ 122x88 SRC =上传/新闻/ news_40942c468090384b8135a6bbb79f631d.png

如何得到这样一个地址:

/thumbs/upload/news/122x88-news_40942c468090384b8135a6bbb79f631d.png

我想删除此"?src="?

我的航线代码如下:

Route::get('thumbs/{imgw}x{imgh}/', function ($imgw,$imgh) 
{ 
    $src = \Input::get('src', 1); 
    $width = $imgw; 
    $height = $imgh; 

    $cacheimage = \Image::cache(function($image) use ($src,$width,$height) { 
     return $image->make($src)->resize($width,$height); 
    }, 1, false); 
    return Response::make($cacheimage, 200, array('Content-Type' => 'image/jpeg')); 
}); 

我试图删除"\Input::get",但它不工作。

+2

正如抬起头时 - 你有图像的路线,你基本上迫使整个Laravel应用程序引导你的页面上的每个图像的请求。 **这可能会变得非常麻烦!** – Ohgodwhy

+0

我有大约6000张图片...所以我必须创建6千张缩略图? 在我的网站上(我将它带给Laravel)我正在使用timthumb,并且我对资源没有任何问题... – LegoLiam

+0

是的,但是您无法将苹果与橙色进行比较。 WordPress的很简单;对于这些图像中的每一个都没有大的启动引导,所以当然不会花费太长时间。通过Laravel,您可以设置IoC,绑定提供程序,创建请求,使用中间件进行过滤等等。它是适当的软件。 – Ohgodwhy

回答

1

检查出来我如何得到我的网站上的图片: https://www.verhuisdieren.nl/

于是就imagecache.php(配置文件),我只是设置对所有图像的路径(可以说“路线” =>'图像“),当我上传图像时,我将它们上载到存储文件夹中,并在保存之前重命名它们。从Laravel 5.3,你可以通过这样的FileUploader类保存:

$request->get('image')->save('new-name'); 

,这然后加载它没有任何前缀。

所以回顾一下:不要为它创建一个路线,你已经在你的imagecache.php文件上有这个路线。然后,你可以得到的路线是这样的:

url(config('imagecache.route'), ['YOUR-SIZE', 'FILENAME']); 

编辑:

配置文件的例子(配置文件imagecache.php):

https://pastebin.com/sf5CusYJ

+0

对不起,但文档非常含糊,Imagecache.route是指什么?你能让我成为一个配置示例吗?使用缓存来调整大小,是否遇到放缓问题?我已经看到了你的网站,这只是我试图获得的结果 – LegoLiam

+0

他们为这个背景设置了一个路由,所以无论你给那个'route'参数的路由,它都将被称为路由为了取得你的形象。那么你所要做的就是调用这个“url”函数,它为你提供带有裁剪大小的图像url。 –