Laravel中的NotReadableException with Glide and Intervention Image

时间:2015-11-30 09:06:26

标签: php laravel laravel-5

我在Laravel 5中有一个相当简单的网站,几乎没有静态页面。 网站使用的功能之一是用于图像处理的Glide服务器,因此在我的composer.json我有这一行

"league/glide": "0.3.*",

显然作为一种依赖,这个包也已安装

"intervention/image": "~2.1",

现在好像我已经设置了一切,但是当我尝试通过网址点击某些图片时,我得到了

NotReadableException in Decoder.php line 21:
Unable to read image from file (/tmp/GlidesCmrgC).

Glide文件名中tmp之后的所有内容都是随机的。 所以显然文件已加载而不会丢失,但仍然出现问题。我正在研究文档,但找不到任何东西。

这是一个路由处理Glide请求的ImageController文件

<?php 
namespace app\Http\Controllers;

use Illuminate\Http\Request;
use League\Glide\Server as GlideServer;

class ImageController extends Controller
{
    public function output(Request $request, GlideServer $glide)
    {
        // Also tried this 
        // $glide->outputImage($request);
        $glide->getImageResponse($request);
    }
}

在我AppServiceProvider.php我有这个部分

$this->app->singleton('League\Glide\Server', function ($app) {

        $filesystem = $app->make('Illuminate\Contracts\Filesystem\Filesystem');
        return \League\Glide\ServerFactory::create([
            'source' => $filesystem->getDriver(),
            'cache' => $filesystem->getDriver()
        ]);

        // Also tried this 
        // $filesystem = $app->make('League\Flysystem\FilesystemInterface');

        /* return \League\Glide\ServerFactory::create([
            'source' => $filesystem,
            'cache' => storage_path().'/app/.cache',
            'base_url' => 'img',
        ]); */
    });

routes.php我有这条路线

get('/img/{path}', 'ImageController@output');

0 个答案:

没有答案