PostTooLargeException в ValidatePostSize.php строка 22 laravel

Я пытаюсь загрузить форму, содержащую изображения тоже. Когда я его представлю. он показывает эту ошибку

PostTooLargeException in ValidatePostSize.php line 22:

Как решить эту проблему?

2 ответов


проверьте следующие параметры в вашем php.ini-файл.

у меня была эта проблема несколько раз, и это обычно потому, что max_file_size установлен в 2M по умолчанию.

  • аргумент max_file_size
  • upload_max_filesize
  • установка post_max_size

**редактировать Меня спросили, как проверить размер файла с помощью метода validate в Laravel перед отправкой файла на PHP и предупреждением пользователя о большом файле. Вы можете и вот как:

1. Создайте предупреждение об ошибке для экрана Вот как выглядит моя. Я использую стиль bootstrap 3. Добавьте что-то подобное в свой макет (он появится, только если у вас есть ошибка).

    @if (count($errors) > 0)
        <div class="alert alert-danger">
            <strong>Whoops!</strong> There were some problems with your input.<br><br> 
                <ul>
                    @foreach ($errors->all() as $error)
                        <li>{{ $error }}</li>
                    @endforeach
                </ul>
        </div>
@endif

2. Определите валидатор, который вы будете использовать в готовые классы проверка ** Перейдите в свой проект / ресурсы/lang/en / валидаторы.php вы найдете все проверки, доступные в laravel. Ты увидишь, что на них это надето. там:

'max'                  => [
    'numeric' => 'The :attribute may not be greater than :max.',
    'file'    => 'The :attribute may not be greater than :max kilobytes.',
    'string'  => 'The :attribute may not be greater than :max characters.',
    'array'   => 'The :attribute may not have more than :max items.',
],

это правило проверки, которое я использовал для проверки размера файла.

**4. Создайте файл запроса **

php artisan make:request yourRequest

**5. обновите файл запроса ** Перейдите к yourProject / app / Http / запросы / yourRequest.php и добавьте следующее В метод правил "file_name" = > "max:10" обновите 10 до значения вашего лимита в килобайтах:

    public function rules()
    {
        return [ 'profile_pic' => 'required|image|mimes:jpg|max:10',
        ];
    }

6. Сделайте свой запрос с тем, какой файл запроса управляет вашими правилами. Так что ... этот сценарий мы назвали yourRequest, поэтому ваш метод сохранения будет иметь:

public function upload(Requests\yourRequest $request)

также убедитесь, что ваш контроллер использует класс запросов в нем так:

use App\Http\Requests;

если вы будете следовать этому, у вас будет ошибка, которая выглядит так: enter image description here

другой вариант-сжать файл (в случае образа) с помощью класса Image.


вы должны использовать проверку на стороне клиента при загрузке файла, и если есть несколько файлов для загрузки, вы должны вставить данные через javascript или один за другим

пример кода:

 $(document).on("change", "#imageUploader", function(e) {
      if(this.files[0].size > 7244183)
      {
        alert("The file size is too larage"); 
        document.getElementById('#imageUploader').value = "";
      }
});