2017-03-03 97 views
1

我正在嘗試上傳laravel中的文件,但每次點擊提交按鈕時,都會在控制檯中顯示內部服務器錯誤。我已經通過get請求檢查死機,以檢查控制器功能是否正常工作,並且工作正常。可以說有什麼問題嗎? 這裏是我的代碼示例在laravel5.3中上傳文件時發生內部服務器錯誤

航線代碼

Route::post('/storefile','[email protected]'); 

控制器

public function storeFile(Request $request){ 
     if($request->ajax()){ 
      echo "got"; 
     } 
     else echo "not ajax"; 
    } 

視圖

@extends('layouts.app') 
@section('stylesheet') 
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> 
    <link type="text/css" href="/css/bootstrap-tagging.css" rel="stylesheet"> 
@endsection 
@section('content') 
    <div class="validation-system"> 
     <div class="validation-form"> 
      <form id="test-form" action="/storepublication" method="post" enctype="multipart/form-data" > 
       {!! csrf_field() !!}   
       <div class="col-md-3 form-group1"> 
        <label class="control-label">Upload Paper</label> 
        <input type="file" name="file" id="paper"> 
       </div> 
       <div class="col-md-3 form-group1"> 
        <input type="submit" id="submit" name="submit" class="btn btn-primary" value="Add"> 
       </div> 
      </form> 
     </div> 
    </div> 
@endsection 
@section('scripts') 
    <script> 
     $(document).ready(function() { 
      $("#test-form").submit(function (event) { 
       event.preventDefault(); 
       var file_data = $('#paper').prop('files')[0]; 
       var form_data = new FormData(); 
       form_data.append('file', file_data); 
       $.ajax({ 
        url: "/storefile", 
        type: "post", 
        data: form_data, 
        processData: false, 
        contentType: false, 
        success: function (res) { 
         document.getElementById("response").innerHTML = res; 
        } 
       }); 

      }); 

     }); 
    </script> 

@endsection 

回答

1

嘗試更換此

var file_data = $('#paper').prop('files')[0]; 

var file_data = $('#paper').files[0]; 
+0

沒有不幫 –

+0

你用'檢查($請求 - >文件( '文件') )'在你的控制器中,而不是'if($ request-> ajax())' – C2486

+0

是剛纔做的。不用找了。剛剛發現,在服務器端,我有令牌不匹配異常。我已經嘗試過這樣的數據:{「_token」:「{{csrf_token()}}」,「paper」:form_data}但是不匹配的異常存在 –

相關問題