2015-09-04 86 views
0

我有這種形式提交與Laravel 5.1文件輸入返回驗證錯誤形式。*

<form class="" enctype="multipart/form-data" action="{{route('submit_prop')}}" method="POST"> 
<div class="margin-btm-sm"> 
    <label>Main Image</label> 
    <input type="file" name="main_img" class="form-control" /> 
</div> 

    <div class="margin-btm-sm"> 
    <button type="submit" class="btn btn-primary">Save</button> 
</div> 
</form> 

當提交表單的請求陣列(POST陣列)是空的。但是當從表格中刪除enctype =「multipart/form-data」時

<form class="" action="{{route('submit_prop')}}" method="POST"> 

請求數組有數據。

控制器的方法:

function submit(SubmitPropRequest $request, $id=null) { 
       dd(\Request::all()); 
    } 

請求位指示:

public function rules() 
{ 
     dd(\Request::all()); 
    return [ 
     'main_img' => 'image|mimes:png,jpg,jpeg', 
    ]; 
} 

問題是什麼?提交文件時,我知道enctype是必須的。我在Laravel 5.0中使用它,並且一切都很好,爲什麼i Laravel 5.1不起作用。

回答

0

當使用laravel 5.1,你應該使用:

dd(\Request::all()); 

或獲取文件:

dd(\Request::file('main_img)); 

獲取特定的輸入:

dd(\Request::input('example_input_field')); 

代碼看起來應該是這樣的:

{!! Form::open(array(
      'url' => url('upload'), 
      'method'=> 'POST', 
      'files' => true)) 
    !!} 

    {!! Form::file('file', array('type'=>'file')) !!} 

    {!! Form::close() !!} 

注意:本實施例的形式使用:"illuminate/html": "~5.0",

+0

同一把它在規則功能在請求時數組爲空公共函數的規則() {DD(\支持::所有()); –

+0

圖片大小問題:4M上傳圖片小於4M驗證成功。但我看到在php.ini upload_max_filesize = 64M是什麼問題。 –

+0

你使用WAMP嗎?如果是這樣,您還必須更改位於:'C:\ wamp \ bin \ php \ php5.X.X'中的php.ini文件(其中x是您的php版本) – mauricehofman