'multipart/form-data' 不工作

'multipart/form-data' not working

我正在使用 Laravel 并尝试建立一个画廊,我正在测试文件的上传,但是当我附加一个文件并单击提交时,我无法使用测试设置。代码如下

图库控制器

// Store Gallery
    public function store(Request $request){
            // Get Request Input
        $name = $request->input ('name');        
        $description = $request->input ('description', '');
        $cover_image = $request->input ('cover_image');
        $owner_id = 1;

        // Check Image Upload
        if($cover_image){
die ('YES');
        } else {
die ('NO');
        }
    }

表格设置如下

{!! Form::open(array('action' => 'GalleryController@store', 'enctype' => 'multipart/form-data')) !!}
              {!! Form::label ('name', 'Name') !!}
              {!! Form::text ('name', $value = null, $attributes = ['placeholder' => 'Gallery Name', 'name' => 'name']) !!}

            {!! Form::label ('description', 'Description') !!}
              {!! Form::text ('name', $value = null, $attributes = ['placeholder' => 'Gallery Description', 'name' => 'Description']) !!}

            {!! Form::label ('cover_image', 'Cover Image') !!}
            {!! Form::file('cover_image') !!}

            {!! Form::submit ('Submit', $attributes = ['class' => 'button']) !!}
            {!! Form::close() !!}

感谢任何帮助 谢谢

您的表单看起来是正确的,很可能是您在其中检索上传文件的控制器。

根据 docs,要检索上传的文件,您应该使用 $request->file():

 $request->file('cover_image');

上面文档的 link 还继续解释了如何正确检查文件和存储文件。

//use input facades.

use File;
use Illuminate\Support\Facades\Input;

 public function store(Request $request){
        // Get Request Input
        $name = $request->input ('name');        
        $description = $request->input ('description', '');
        $cover_image = $request->input ('cover_image');
        $owner_id = 1;

        // Check Image Upload
        if(Input::hasFile('cover_image'){
           die ('YES');
        }
        else {
           die ('NO');
        }
  }