composer require intervention/image
laravel配置
config/app里面增加:
在providers中增加
Intervention\Image\ImageServiceProvider::class,
在aliases中增加
'Image' => Intervention\Image\Facades\Image::class,
后台控制器
<?php
namespace App\Http\Controllers\Business;
use App\Validate\ActivityValidate;
use App\Validate\ButionValidate;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Activity as ActivityModel;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
use Intervention\Image\ImageManagerStatic as Image;
class Activity extends Controller
{
/**
* 添加图片
*/
public function addProcess(){
$inputData = request()->all();
$rules = [
'main_img' => [ 'file','image','max:10240' ]
];
$validator = Validator::make($inputData,$rules);
if($validator->fails()){
return back()->withErrors($validator)->withInput();
}
$photo = $inputData['main_img'];
$file_name = uniqid().'.'.$photo->getClientOriginalExtension();
$file_relative_path = 'assess/images/content/'.date('Y-m-d');
$file_path = public_path($file_relative_path);
if (!is_dir($file_path)){
mkdir($file_path);
}
$thumbnail_file_path = $file_path . '/thumbnail-'.$file_name;
$image = Image::make($photo)->resize(200, null, function ($constraint) {$constraint->aspectRatio();})->save($thumbnail_file_path);
$file_path .= '/'.$file_name;
$image = Image::make($photo)->save($file_path);
echo ‘上传成功!’;
}
}
本文介绍如何在Laravel项目中引入并配置Intervention Image包,实现图片的上传与处理。通过具体代码示例,展示了如何验证图片、调整尺寸及保存图片。

被折叠的 条评论
为什么被折叠?



