我正在使用laravel 5和干预,并希望在通过表单上传图像时存储多种尺寸的图像。任何人都可以指导我
答案 0 :(得分:7)
所以我不知道你做了什么。所以让我们从头开始。
首先,您需要干预库。所以切换到你的主文件夹(包含你的composer.json文件) 然后输入
composer.phar require intervention/image
或者只需在composer.json中的“require”数组中添加“干预/图像”:“~2.1”。 (之后做作曲家更新)
"require": {
"laravel/framework": "5.0.*",
"intervention/image": "~2.1"
},
现在你必须添加
'Intervention\Image\ImageServiceProvider',
到providers数组
和
'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 ...