【问题标题】:Laravel 5 intervention image upload multiple sizeLaravel 5 干预图片上传多种尺寸
【发布时间】:2015-06-01 13:52:52
【问题描述】:

我正在使用 laravel 5 和干预,并希望在通过表单上传图像时存储多种尺寸的图像。谁能指导我

【问题讨论】:

    标签: laravel-5 intervention


    【解决方案1】:

    所以我不知道你已经做了什么。所以让我们从头开始吧。

    首先,您需要干预库。所以切换到你的主文件夹(包含你的 composer.json 文件) 然后输入

    composer.phar require intervention/image
    

    或者只是将 "intervention/image": "~2.1" 添加到 composer.json 中的 require 数组中。 (然后做一个作曲家更新)

    "require": {
        "laravel/framework": "5.0.*",
        "intervention/image": "~2.1"
    },
    

    现在你必须添加

    'Intervention\Image\ImageServiceProvider',
    

    到提供者数组

    'Image' => 'Intervention\Image\Facades\Image'
    

    到你的别名数组。都在 config/app.php 中

    现在您可以在控制器中的某处创建“上传功能”,例如

    public function upload() {
        $image = \Image::make(\Input::file('image'));
        $path = storage_path('app')."/";
    
        // encode image to png
        $image->encode('png');
        // save original
        $image->save($path."original.png");
        //resize
        $image->resize(300,200);
        // save resized
        $image->save($path."resized.png");
    }
    

    这会将两张图片保存到 storage/app 文件夹。一个是原始大小,一个调整为 300x200。

    此代码只是一个示例,它不包含对有效图像或类似内容的任何检查。它只需要一个文件(假设是一个图像)并保存两次。 当然你也不需要编码成 png...

    【讨论】:

    • 我有这个错误:Driver.php 第 18 行中的 NotSupportedException:此 PHP 安装不提供 ImageMagick 模块。
    • 我已经尝试过.. 使用 GD 驱动程序给我这个错误:AbstractDecoder.php 第 294 行中的 NotReadableException:图像源不可读
    • 如果我想保存为 100X100 等其他尺寸,我可以使用相同的实例 $image 吗?
    • 这种方式对我不起作用。我需要第二个尺寸的新 $image 实例(如 $image2)..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 2017-08-20
    • 2012-11-20
    • 1970-01-01
    相关资源
    最近更新 更多