Laravel Input :: hasFile (‘image’) возвращает false, даже если файл загружен

У меня есть поле формы для загрузки изображения, которое я открываю с помощью «files» => true, вот так:

{{ Form::label('image', 'Image') }}
{{ Form::file('image') }}

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

if (Input::hasFile('image')){
$in_path = 'img/';
$in_extension = Input::file('image')->getClientOriginalExtension();
$filename = Input::get('name').".".$in_extension;
Input::file('image')->move($in_path, $filename);
$user->image = $filename;
}

Но Input::hasFile всегда возвращает false и я не знаю почему.

Input::file('image');

результаты в:

Symfony\Component\HttpFoundation\File\UploadedFile Object
(
[test:Symfony\Component\HttpFoundation\File\UploadedFile:private] =>
[originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => test.JPG
[mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => application/octet-stream
[size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
[error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 1
[pathName:SplFileInfo:private] =>
[fileName:SplFileInfo:private] =>
)

Я проверил с другой картиной для другого пользователя, и это прекрасно работает. Я не понимаю, почему это работает для некоторых пользователей, а для других нет.

Может быть, есть какие-то картинки, которые не принимаются?

Какие другие источники могут быть причиной этой проблемы?

8

Решение

Как вы открываете форму? Если вы хотите, чтобы ваша форма принимала нужные вам файлы, откройте ее так:

echo Form::open(array('url' => 'foo/bar', 'files' => true))

Открытие формы в Документах Laravel

8

Другие решения

Я решил, что было не так.
Код в порядке, но проблема была в том, что некоторые картинки были просто большими.

РЕДАКТИРОВАТЬ:

Как не паникует, редактирование upload_max_filesize может решить проблему.

5

У меня была та же проблема, я проверил свой код и заметил, что у меня нет заголовка enctype = «multipart / form-data» в форме, надеюсь, что это большое пренебрежение поможет кому-нибудь

4
По вопросам рекламы [email protected]