'多部分/表单数据'不起作用

时间:2018-07-24 22:13:12

标签: php laravel forms multipart

我正在使用Laravel并试图建立一个画廊,我正在测试文件的上传,但是当我附加一个文件并单击“提交”时,使用测试设置无法获得积极的结果。代码在下面

GalleryController

// 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() !!}

感谢任何帮助 谢谢

2 个答案:

答案 0 :(得分:3)

您的表格看起来正确,很可能是您的控制器正在检索上载的文件。

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

 $request->file('cover_image');

指向上述文档的链接还将继续说明如何正确检查文件并存储文件。

答案 1 :(得分:0)

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