#php #laravel-4 #image-upload
#php #laravel-4 #изображение-загрузить
Вопрос:
Я делаю это в своем блейде:
{{ Form::model($user, array('files' => true , 'class' => 'form-horizontal')) }}
<div class="form-group">
{{ Form::label('profile_pic','Profile Picture',array('class'=>'control-label col-xs-2')) }}
<div class="col-xs-10">
<img src="img_upload/{{ $user->profile_pic }}" alt="Image not find( {{ $user->profile_pic }} )"style="width:100px;height:100px;"/>
{{ Form::file('profile_pic') }}
</div>
</div>
{{ Form::close() }}
И я получаю этот файл с помощью
$files = Input::file('profile_pic');
return Response::json([
'success'=> false,
'errors'=>[$files]]);
Я возвращаю JSON, потому что просто хочу убедиться, что изображение может попасть в контроллер, но оно возвращает
{«успех»:false,»ошибки»:[null]}
Если я хочу попробовать получить исходное имя следующим образом:
$filename = $files->getClientOriginalName();
Я получаю сообщение об ошибке:
message: "Call to a member function getClientOriginalName() on a non-object"
type: "SymfonyComponentDebugExceptionFatalErrorException"
Я сделал что-то не так? Разве это невозможно использовать Form::file
в Form::model
?
Я искал подобные проблемы, но не могу найти решение, многие люди используют Form::open
Комментарии:
1. что
Input::has('file')
возвращается при публикации формы?2. Если
$files
вернетсяnull
, вы получите сообщение об ошибке дляgetClientOriginalName()
функции. Вы можете использоватьForm:file
вForm::model
. Кстати, я не вижуroute
в вашей форме.3. Джимусу это возвращает «false»; Хей: Мой маршрут правильный, докажите, что laravel запущен в моем контроллере, и верните json с моего контроллера, я должен был сделать так: Route::post(‘editnewuseradmin’, ‘UserAdminController @saveUser’);