使用laravel 5.2上传图像

时间:2016-04-22 13:24:56

标签: php html forms laravel laravel-5.2

我正在尝试为我的laravel项目创建一个简单的上传图片功能但是我一直收到这个错误:

FatalThrowableError in UploadController.php line 23:
Fatal error: Call to a member function hasFile() on null

这是我的控制者:

  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';
    }
  }

这是我的表格:

<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>

1 个答案:

答案 0 :(得分:1)

hasFile()方法仅适用于请求对象,而不适用于输入数组。试试这个:

if($request->hasFile('file')){

请参阅:https://laravel.com/docs/5.2/requests#files

您还需要更改此行:

$file = $input->file('file');

要:

$file = $request->file('file');