问题描述
我想添加一个用户(名称,电子邮件,图像,多张图像...),并且我尝试调整图像和多张图像的大小以便上载非常快,我们使用程序包干预,我执行了cmd PHP composer require intervention/image
,我在Intervention\Image\ImageServiceProvider::class
中添加了Image'=>Intervention\Image\Facades\Image::class
和config/app.PHP
,在use Intervention\Image\Exception\NotReadableException;
中也添加了RegisterController.PHP
,但仍然给我错误Method Illuminate\Http\UploadedFile::resize does not exist
。
它给我错误Method Illuminate\Http\UploadedFile::resize does not exist
。
RegisterController.PHP
protected function validator(array $data)
{
return Validator::make($data,[
'name' => ['bail','required','string','min:3','max:50','regex:/^[\pL\s\-]+$/u'],'email' => ['bail','email','max:255','unique:users'],'telephone'=> ['bail','regex:/^06\d{8}$/','password' => ['bail','min:8','confirmed'],'adressem' => ['bail','min:13','max:255'],'adresser' => ['bail','image' => ['bail','mimes:jpeg,jpg,png,gif,svg','max:2048'],'images.*' => ['bail','max:2048']
]);
}
protected function create(array $data)
{
//image
$user = new User();
//$jdate = Carbon::Now();
$request = app('request');
if($request->hasFile('image'))
{
$image = $request->file('image');
$url = Storage::put("user/",$image->getClientOriginalName());
$image->resize(250,125);
$path = $request->image->store('profiles');
$user->image = $path;
}
$im = $user->image;
//images
$dataim = array();
if($request->hasFile('images'))
{
foreach($request->images as $file)
{
$file->resize(250,125);
$path = $file->store('profiles');
array_push($dataim,$path);
}
}
$user->images=json_encode($dataim);
$imm =$user->images;
return User::create([
'name' => $data['name'],'email' => $data['email'],'password' => Hash::make($data['password']),'telephone' => $data['telephone'],'country_id' => $data['country_id'],'state_id' => $data['state_id'],'autrei' => $data['autrei'] ?? null,'city_id' => $data['city_id'],'autreh' => $data['autreh'] ?? null,'adressem' => $data['adressem'],'adresser' => $data['adresser'],'image' => $im,'images' => $imm
]);
}
解决方法
遵循软件包DOC。
首先,导入软件包
use Intervention\Image\Facades\Image;
然后,调整大小并保存
$image = Image::make($filename);
$image->resize(250,125,function($constraint){
$constraint->aspectRatio();
})->save($filename);
,
我看到您的RegisterControlle没有错误。
您是否已安装干预/图像以调整图像大小?
使用撰写者需要干预/图像
还添加这些使用图片; 在RegisterController中
如果是: config / app.php
return [
......
$provides => [
......
......,'Intervention\Image\ImageServiceProvider'
],$aliases => [
.....
.....,'Image' => 'Intervention\Image\Facades\Image'
]
]