2016-06-28 58 views
0

我創建一個視頻上傳系統,當我提交視頻它告訴我:Laravel 5.2 - TokenMismatchException在VerifyCsrfToken.php線67:

TokenMismatchException在VerifyCsrfToken.php線67

我有這個在我看來:

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet"/> 
 
<form method="POST" action="{{ url('video/upload') }}" enctype="multipart/form-data" class="form-horizontal"> 
 
      {{ csrf_field() }} 
 
      <fieldset class="form-group"> 
 
       <label for="title">Title</label> 
 
       <input type="text" id="title" name="title" class="form-control"> 
 
      </fieldset> 
 
      <fieldset class="form-group"> 
 
       <label for="video">Video</label> 
 
       <input type="file" id="video" name="video" class="form-control"> 
 
      </fieldset> 
 
      <fieldset class="form-group text-lg-right"> 
 
       <button class="btn btn-success" type="submit">Upload</button> 
 
      </fieldset> 
 
     </form>

這在我的控制器:

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Video; 

use App\Http\Requests; 

class VideoController extends Controller 
{ 
    public function upload() 
    { 
     return view('video.upload'); 
    } 

    public function uploadPost(Request $request) 
    { 
     $this->validate($request, [ 
      'title' => 'required|unique:videos|max:100', 
      'tags' => 'required', 
      'video' => 'required' 
     ]); 

     $mime = $request->file('video')->getMimeType(); 

     dd($mime); 
    } 
} 

而且我的php.ini是:

的upload_max_filesize = 100M

因此,我的php.ini,csrf_field()和仍然出現錯誤。可能是什麼問題?

+0

你有沒有重新啓動進行更改到你的php.ini後您的Web服務器? – aynber

+1

什麼是你的'post_max_size'? – aynber

+0

是8M,我已經將其更改爲100M,並且工作正常。發佈它作爲答案:D謝謝。 –

回答

1

post_max_size也有待提高添加這個,因爲它扔POST Content-Length錯誤。

+0

這是絕對的解決方案,因爲它是8M,我已經將其與upload_max_filesize一起更改爲100M。謝謝 –

0

變化{{ csrf_field() }}{!! csrf_field() !!}

默認情況下,Laravel將難逃注入到模板中的任何數據。通過{!! !!}標籤周邊調用csrf_field,你告訴Laravel 逃脫由csrf_field()函數生成的HTML標記。

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet"/> 
 
<form method="POST" action="{{ url('video/upload') }}" enctype="multipart/form-data" class="form-horizontal"> 
 
      {!! csrf_field() !!} 
 
      <fieldset class="form-group"> 
 
       <label for="title">Title</label> 
 
       <input type="text" id="title" name="title" class="form-control"> 
 
      </fieldset> 
 
      <fieldset class="form-group"> 
 
       <label for="video">Video</label> 
 
       <input type="file" id="video" name="video" class="form-control"> 
 
      </fieldset> 
 
      <fieldset class="form-group text-lg-right"> 
 
       <button class="btn btn-success" type="submit">Upload</button> 
 
      </fieldset> 
 
     </form>

+0

嗨,我仍然得到相同的錯誤。 –

+0

請在瀏覽器輸出中查看查看源{!! csrf_field()!}應類似於

+0

是在兩種方式一樣! –

-1

這可能會幫助你

<input name="_token" value="{{csrf_token()}}" type="hidden"> 

在窗體

+1

您是否看到過這種形式? '{{csrf_field()}}'它做同樣的事情 –

相關問題