pknad505's avatar

Creating an upload image function

I am currently trying to upload images to a CMS that i am making however I cant work out how to use it works exactly because i keep getting an error. I currently have this: Controller:

  public function uploadImg(Request $request){
    $input = $request->input();
    if($input->hasFile('file')){
      echo 'Uploading';
      $file = $input->file('file');
      $file->move('uploads', $file->getClientOriginalName());
      echo 'Uploaded';
    }
  }

The Form:

<form action="/admin/media/uploadImg" method="post" enctype="multipart/form-data">
    <label>Select image to upload:</label>
    <input type="file" name="file" id="file">
    <input type="submit" value="Upload" name="submit">
    <input type="hidden" value="{{ csrf_token() }}" name="_token">
  </form>

Could someone show me how to do this correctly thank you The error is:

FatalThrowableError in UploadController.php line 23:
Fatal error: Call to a member function hasFile() on array
0 likes
5 replies
moharrum's avatar
  public function uploadImg(Request $request){
    if($request->hasFile('file')){
      echo 'Uploading';
      $file = $request->file('file');
      $file->move('uploads', $file->getClientOriginalName());
      echo 'Uploaded';
    }
  }
pknad505's avatar

Ive changed that now @moharrum however im still getting the same error. Here it is in full:

FatalThrowableError in UploadController.php line 23:
Fatal error: Call to a member function hasFile() on null
in UploadController.php line 23
at UploadController->uploadImg(object(Request))
at call_user_func_array(array(object(UploadController), 'uploadImg'), array(object(Request))) in compiled.php line 9309
at Controller->callAction('uploadImg', array(object(Request))) in compiled.php line 9371
at ControllerDispatcher->call(object(UploadController), object(Route), 'uploadImg') in compiled.php line 9351
at ControllerDispatcher->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9828
at Pipeline->then(object(Closure)) in compiled.php line 9352
at ControllerDispatcher->callWithinStack(object(UploadController), object(Route), object(Request), 'uploadImg') in compiled.php line 9339
at ControllerDispatcher->dispatch(object(Route), object(Request), 'App\Http\Controllers\UploadController', 'uploadImg') in compiled.php line 8420
at Route->runController(object(Request)) in compiled.php line 8407
at Route->run(object(Request)) in compiled.php line 8121
at Router->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 3176
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 13274
at ShareErrorsFromSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 11822
at StartSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 13009
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 12946
at EncryptCookies->handle(object(Request), object(Closure))
at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9828
at Pipeline->then(object(Closure)) in compiled.php line 8122
at Router->runRouteWithinStack(object(Route), object(Request)) in compiled.php line 8113
at Router->dispatchToRoute(object(Request)) in compiled.php line 8103
at Router->dispatch(object(Request)) in compiled.php line 2400
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 3237
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9828
at Pipeline->then(object(Closure)) in compiled.php line 2347
at Kernel->sendRequestThroughRouter(object(Request)) in compiled.php line 2331
at Kernel->handle(object(Request)) in index.php line 53
at require_once('/home/protoco1/public_html/public/index.php') in index.php line 21
pknad505's avatar
pknad505
OP
Best Answer
Level 1

Ok Ive finally got the answer to this. Using $input was incorrect.

public function uploadImg(Request $request){
    if($request->hasFile('file')){
      echo 'Uploading';
      $file = $request->file('file');
      $file->move('uploads', $file->getClientOriginalName());
      echo 'Uploaded';
    }
  }

Please or to participate in this conversation.