2016-11-11 58 views
0

我有一个简单的文件上传输入,不会转储文件输入值。在Laravel中上传文件的问题

这是形式的代码,我有:

<!-- Modal --> 
     <div class="modal fade" id="app-form" tabindex="-1" role="dialog" aria-labelledby="app-form-label"> 
      <div class="modal-dialog" role="document"> 
       <div class="modal-content"> 
        <div class="modal-header"> 
         <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span 
            aria-hidden="true">&times;</span></button> 
         <h4 class="modal-title" id="app-form-label">Ședință foto boudoir!</h4> 
        </div> 

        {!! Form::open(['url'=>'','method'=>'POST', 'files'=>true, 'id' => 'model-form']) !!} 
        <div class="modal-body"> 
         <div class="row"> 
          <div class="col-xs-12 col-sm-6"> 
           <div class="form-group{{ $errors->has('first_name') ? ' has-error' : '' }}"> 
            {!! Form::label('first_name', 'Nume') !!} 
            {!! Form::text('first_name', '', ['class' => 'form-control']) !!} 
            @if ($errors->has('first_name')) 
             <span class="help-block"> 
              <strong>{{ $errors->first('first_name') }}</strong> 
             </span> 
            @endif 
           </div> 
          </div> 

          <div class="col-xs-12 col-sm-6"> 
           <div class="form-group{{ $errors->has('last_name') ? ' has-error' : '' }}"> 
            {!! Form::label('last_name', 'Prenume') !!} 
            {!! Form::text('last_name', '', ['class' => 'form-control']) !!} 
            @if ($errors->has('last_name')) 
             <span class="help-block"> 
              <strong>{{ $errors->first('last_name') }}</strong> 
             </span> 
            @endif 
           </div> 
          </div> 
         </div> 

         <div class="row"> 
          <div class="col-xs-12 col-sm-6"> 
           <div class="form-group{{ $errors->has('age') ? ' has-error' : '' }}"> 
            {!! Form::label('age', 'Vârsta') !!} 
            {!! Form::text('age', '', ['class' => 'form-control']) !!} 
            @if ($errors->has('age')) 
             <span class="help-block"> 
              <strong>{{ $errors->first('age') }}</strong> 
             </span> 
            @endif 
           </div> 
          </div> 

          <div class="col-xs-12 col-sm-6"> 
           <div class="form-group{{ $errors->has('sex') ? ' has-error' : '' }}"> 
            {!! Form::label('sex', 'Vârsta') !!} 
            {!! Form::select('sex', ['M' => 'Masculin', 'F' => 'Feminin'], null, ['class' => 
            'form-control', 
            'placeholder' => 
         '-- Selectează --']) !!} 
            @if ($errors->has('sex')) 
             <span class="help-block"> 
              <strong>{{ $errors->first('sex') }}</strong> 
             </span> 
            @endif 
           </div> 
          </div> 
         </div> 

         <div class="row"> 
          <div class="col-xs-12 col-sm-6"> 
           <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> 
            {!! Form::label('email', 'Email') !!} 
            {!! Form::email('email', '', ['class' => 'form-control']) !!} 
            @if ($errors->has('email')) 
             <span class="help-block"> 
              <strong>{{ $errors->first('email') }}</strong> 
             </span> 
            @endif 
           </div> 
          </div> 

          <div class="col-xs-12 col-sm-6"> 
           <div class="form-group{{ $errors->has('phone') ? ' has-error' : '' }}"> 
            {!! Form::label('phone', 'Telefon') !!} 
            {!! Form::text('phone', '', ['class' => 'form-control']) !!} 
            @if ($errors->has('phone')) 
             <span class="help-block"> 
              <strong>{{ $errors->first('phone') }}</strong> 
             </span> 
            @endif 
           </div> 
          </div> 
         </div> 

         <div class="row"> 
          <div class="col-xs-12"> 
           <div class="form-group{{ $errors->has('details') ? ' has-error' : '' }}"> 
            {!! Form::label('details', 'Detalii') !!} 
            {!! Form::textarea('details', '', ['class' => 'form-control', 'rows' => 10]) !!} 
            @if ($errors->has('details')) 
             <span class="help-block"> 
              <strong>{{ $errors->first('details') }}</strong> 
             </span> 
            @endif 
           </div> 
          </div> 
         </div> 

         {!! Form::label('image', 'Fotografii Reprezentative') !!} 
         {!! Form::file('image') !!} 
        </div> 
        <div class="modal-footer"> 
         <button type="submit" class="btn btn-warning card-2">Trimite Datele</button> 
        </div> 
        {!! Form::close() !!} 
       </div> 
      </div> 
     </div> 
     <!-- /End Modal --> 

我用ajax做后,此代码:

<script> 
    (function() { 
     $('#model-form').submit(function (e) { 
      e.preventDefault(); 
      $.ajax({ 
       type: 'POST', 
       url: 'store', 
       headers: { 
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
       }, 
       data: new FormData(this), 
       contentType: false, 
       cache: false, 
       processData:false, 
       success: function (response) { 
        console.log($('#image').val()); 
       } 
      }); 
     }); 
    })(); 
</script> 

现在不要问我为什么我设置了csrf-在ajax令牌头,这是另一个问题,但现在,问题是,我做$ _POST & $ _FILES转储后,我提交表单,我有除了图像文件上传数据的形式的所有值。 我拉着我的头发,所以请帮助我!

+0

转储$ _POST文件?你的意思是$ _FILES?你应该为你上传的文件转储$ _FILES超全球 – Andreas

+0

是的,对不起,我做了$ _FILES。 –

+0

不,没有控制台错误。 –

回答

1

你应该使用enctype=multipart/form-data每当你想发送的文件数据的形式是这样的:

<form action="" method="POST" enctype="multipart/form-data"> 
</form> 

可以使用laravel的dd()方法转储输入内部控制是这样的:

dd(request()->all()); 

希望这有助于!

+0

它由laravel中的'files'=> true设置... –

+0

谢谢! 我用dd(request) - > all()和我看到的文件... 为什么不用var_dump($ _ FILES)? –

+0

不知道真的但是,干杯,为了解决你的问题问题:D –