Laravel – правило валидации max не работает над загруженным изображением

Я обрабатываю поле файла с помощью ajax-запроса (FormData) для отправки изображения на сервер.

Вот мой обработчик php ajax

public function onUploadAvatar() { $photo = Request::file('avatar'); $avatar = new Controllers\AvatarController( $photo ); $validator = $avatar->validator(); if ( $validator->fails() ) { return [ 'success' => false, 'validationErrors' => $validator->errors() ]; } $moved = $avatar->attach(); if ( $moved !== false ) { return [ 'success' => true, 'avatarPath' => $moved ]; } } 

Ниже мой метод проверки достоверности

  public function validator() { $input = [ 'avatar' => $this->photo ]; $rules = [ 'avatar' => 'image|mimes:jpeg,jpg,png|max:1048576' ]; $messages = [ 'mimes' => 'invalid format', 'max' => 'please 1MB', 'image' => 'please image' ]; $validator = Validator::make( $input, $rules, $messages ); return $validator; } 

Когда я отправляю файл с размером меньше max , у меня есть ожидаемый ответ:

введите описание изображения здесь введите описание изображения здесь

ПРОБЛЕМА

Но когда я загружаю файл с более чем max , у меня есть эта (ответная) ошибка:

введите описание изображения здесь введите описание изображения здесь

Правила проверки прав друга работают.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Возврат некоторых данных после запроса:

 return [ 'photo' => Request::file('avatar'), 'hasFile' => Request::hasFile('avatar'), 'extension' => Request::file('avatar')->getClientOriginalExtension(), 'size' => Request::file('avatar')->getClientSize() ]; 

ОТВЕТЫ:

Файл меньше max :

 {"photo":{},"hasFile":true,"extension":"jpg","size":900498} 

Файл с max :

 {"photo":{},"hasFile":false,"extension":"jpg","size":0} 

РЕШЕНИЕ

Я ожидал некоторой обратной связи, поскольку файл «file.jpg» превышает вашу директиву upload_max_filesize ini для ошибок php.ini, связанных с максимальным размером. Только увеличилась директива upload_max_filesize и работала. Больше проблем.