Laravel 5介入图片上传多个尺寸

Ami*_*mit 0 laravel-5 intervention

我正在使用laravel 5和干预,并希望在通过表单上传图像时存储多种尺寸的图像.任何人都可以指导我

sho*_*ild 7

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

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

composer.phar require intervention/image
Run Code Online (Sandbox Code Playgroud)

或者只需将"干预/图像":"~2.1"添加到composer.json中的require数组中.(之后做作曲家更新)

"require": {
    "laravel/framework": "5.0.*",
    "intervention/image": "~2.1"
},
Run Code Online (Sandbox Code Playgroud)

现在你必须添加

'Intervention\Image\ImageServiceProvider',
Run Code Online (Sandbox Code Playgroud)

到提供者数组

'Image' => 'Intervention\Image\Facades\Image'
Run Code Online (Sandbox Code Playgroud)

到您的别名数组.两者都在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");
}
Run Code Online (Sandbox Code Playgroud)

这会将两个图像保存到storage/app文件夹中.一个在原始大小,一个调整为300x200.

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