2016-09-18 4 views
0

ファイルをajaxでアップロードしようとすると、$ファイルは空です。Laravel - Ajax画像のアップロード - ファイルが空です

私が試した:

$ファイル=入力::ファイル( 'イメージ'); $ file = $ request-> file( 'image');

のjQuery:

$(document).on('submit', '#update_form', function(e){ 
     e.preventDefault(e); 
     $.ajax({ 
      type: "POST", 
      url: '{{route('admin/users/update')}}', 
      data: $(this).serialize(), 
      dataType: 'json', 
      success: function (data) { 
       $('.error').fadeOut(); 
       success(data); 
       load_data('{{route('admin/users/edit')}}', '{{ $user->id }}', '{{ $user->part }}'); 
      }, 
      error: function (data) { 
       $('.success').fadeOut(); 
       errors(data); 
      } 
     }) 
    }); 

コントローラー:

public function updateUser(Request $request){ 

    //$file = Input::file('image'); 
    $file= $request->file('image'); 

    return \Response::json($file); 

} 

経路:

Route::post('admin/users/update', ['as' => 'admin/users/update', 'uses' => 'admin\[email protected]']); 

フォーム:

{!! Form::model($user, ['id' => 'update_form', 'files' => true]) !!} 

<div class="col-md-12"> 

    <div class="form-group"> 
     {{ Form::label(trans('User image')) }} 
     {!! Form::file('image', null,['class' => 'form-control', 'placeholder' => trans('Image')]) !!} 
    </div> 

    {{ Form::hidden('id') }} 
    {{ Form::hidden('part', app('request')->input('part')) }} 

    {!! Form::submit(trans('Save changes'), ['class' => 'pull-right btn btn-success submit', 'id' => 'submit' ]) !!} 

</div> 

{!! Form::close() !!} 

Repsonseは空であるか:{}

応答画像:

https://gyazo.com/04e431f16237dfada40c864df96ad412

ありがとうございました!

+0

パラメータでありますアップロード/ –

答えて

0

paramは、サーバーの方法はあなたがhttps://blueimp.github.io/jQuery-File-をチェックアウトし、AJAX(独自の実装よりも簡単)を介してファイルをアップロードするjQueryプラグインを必要とする

FormData fd =new FormData(); 
fd.append('param',$('input[type=file]').files[0]); 
+0

あなたの返信をありがとうが、私はそれを理解していない私は恐れている。 – RK4002

関連する問題