Форма отправки с ошибкой проверки возврата ввода файла в 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, и все было в порядке, почему ij Laravel 5.1 не работал.


person Ayman Hussein    schedule 04.09.2015    source источник


Ответы (1)


При использовании 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", package

person Maurice    schedule 04.09.2015
comment
то же самое, если поместить его в функцию правила в запросе, массив будет пуст. public function rules () {dd (\ Request :: all ()); - person Ayman Hussein; 04.09.2015
comment
проблема в размере изображения: 4M при загрузке изображения менее 4M успешная проверка. но я вижу в php.ini upload_max_filesize = 64M, в чем проблема. - person Ayman Hussein; 04.09.2015
comment
Вы используете WAMP? Если это так, вам также необходимо изменить файл php.ini, расположенный в: C:\wamp\bin\php\php5.X.X (где x - ваша версия php) - person Maurice; 04.09.2015