Невозможно загрузить изображение в laravel 7 - PullRequest
0 голосов
/ 03 апреля 2020

Используя Laravel 7, я пытаюсь настроить форму, где пользователь может редактировать свои данные и свое изображение. При попытке загрузить изображение в формате PNG или JPG появляется следующее сообщение об ошибке проверки:

The image must be an image.

Если я пытаюсь загрузить изображение, я получаю эту ошибку Call to a member function isvalid() on boolean

И если я удаляю проверку для изображения, я получаю FatalErrorException:

Вызов функции-члена getClientOriginalExtension () для логического

, который является вспомогательной функцией, предоставляемой библиотекой Intervention / Image. Это может означать, что изображение вообще не загружалось.

Это мой файл Blade


 1. form role="form" id="updateDetailsForm" method="post" action="{{url('/admin/update-admin-details')}}" enctype="multipart/form-data">
                        <div class="card-body">

                        <div class="form-group" >
                            <label for="exampleInputEmail1">Admin Name</label>
                            <input type="text" class="form-control" name="admin_name" id="name"  value="{{Auth::guard('admin')->user()->name}}" placeholder="Enter Email">
                          </div>

                          <div class="form-group">
                            <label for="exampleInputEmail1">Type</label>
                            <input type="text" class="form-control" name="type" id="type" readonly value="{{Auth::guard('admin')->user()->type}}" placeholder="Enter Email">
                          </div>

                          <div class="form-group">
                            <label for="exampleInputEmail1">Email address</label>
                            <input type="email" class="form-control" name="email" id="email" readonly value="{{Auth::guard('admin')->user()->email}}" placeholder="Enter Email">
                          </div>

                          <div class="form-group">
                            <label for="exampleInputEmail1">Mobile</label>
                            <input type="text" class="form-control" name="mobile" id="mobile"  value="{{Auth::guard('admin')->user()->mobile}}" placeholder="Enter Email">
                          </div>

                          <div class="form-group">
                            <label for="exampleInputPassword1">Image</label>
                            <input type="file" class="form-control" name="admin_image" id="admin_image" accept="image/*"  >

                            @if(!empty(Auth::guard('admin')->user()->image))
                            <a target="_blank" href="{{url('/images/admin_images/admin_photos/'.Auth::guard('admin')->user()->image)}}">View Image</a>
                            <input type="hidden" name="current_admin_image" value="{{Auth::guard('admin')->user()->image}}">
                             @endif
                        </div> ```

        This is my Controller

        ```ADMIN CONTROLLER

        public function updateAdminDetails(Request $request){
                if($request->isMethod('post')){
                    $data= $request->all();
                    //echo "<pre>";print_r($data);die;

                    //Creating Validation
                $rules =[
                    'admin_name'=>'required|string',
                    'mobile'=> 'required|numeric',
                    'admin_image'=> 'required|image|file',
                   
                ];

                $customMessage=[
                    'admin_name.required'=>'Name is Required',
                    'admin_name.alpha' => 'Valid Name is required',
                    'mobile.required'=>'Mobile is Required',
                    'mobile.numeric'=>'Valid Mobile is Required',
                   'admin_image.required'=>'Image is Required',
                   'admin_image.image'=>'Valid Image is Required',
                ];

                $this->validate($request, $rules, $customMessage);

                //Uploading Admin Image
               // $imageName= '';
                if($request->hasFile('admin_image')){
                    $image_tmp = $request->hasFile('admin_image');
                    if($image_tmp->isValid()){
                       
                        //get extension
                        $extension = $image_tmp->getClientOriginalExtension();
                      
                        //Generating image name
                        $imageName= rand(111,999999).'.'.$extension;

                        //Image Path
                        $imagePath= 'images/admin_images/admin_photos/'.$imageName;

                        //Uploading the image
                        Image::make($image_tmp)->save($imagePath);

                    } 
                    }  else{
                       $imageName="";
                        //return false;
                    }
                
                

                $result=Admin::where('email', Auth::guard('admin')->user()->email)
                ->update(['name'=>$data['admin_name'], 'mobile'=>$data['mobile'], 'image'=>$imageName]);
                
                    //echo "<pre>";print_r($result);die;
                //Session::flash('success_message', 'Details updated Successfully');
                return redirect()->back();
                }

                return view('admin.admin_details');
            }

Спасибо, боссы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...