Level 1
You can try making new request
php artisan make:request UploadRequest
Here is Upload Request file:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UploadRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
//
'avatar.*' => 'required|mimes:jpg,jpeg,png,bmp|max:800',
'avatar.*.required' => 'Please upload an image',
'avatar.*.mimes' => 'Only jpeg,png and bmp images are allowed',
'avatar.*.max' => 'Sorry! Maximum allowed size for an image is 20MB'
];
}
}
and then:
public function uploadAvatar(UploadRequest $request){
if($request->hasFile('avatar')){
$user = Auth::user();
$input_data = $request->all();
$image = $request->file('avatar');
$filename = time() . '.' . $image->getClientOriginalExtension();
$location = public_path('uploads/avatars/'. $filename);
Image::make($image)->resize(300,300)->save($location);
$user->avatar = $filename;
$user->save();
}
return redirect()
->route('profile.editavatar')
->with('info', 'Your avatar has been uploaded.');
}
don't forget to import Request on top of controller:
use App\Http\Requests\UploadRequest;
1 like