Laravel 5.2 - VerifyCsrfToken.php 第 67 行中的 TokenMismatchException:
Laravel 5.2 - TokenMismatchException in VerifyCsrfToken.php line 67:
我正在创建一个视频上传系统,当我提交视频时,它向我显示:
TokenMismatchException in VerifyCsrfToken.php line 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() 并且仍然出现错误。可能是什么问题?
将 {{ csrf_field() }}
更改为 {!! csrf_field() !!}
。
默认情况下,Laravel 将转义任何注入到模板中的数据。通过在 {!! !!}
标记中包围对 csrf_field
的调用,您告诉 Laravel not 转义由 csrf_field()
函数。
<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>
这可能对您有所帮助
<input name="_token" value="{{csrf_token()}}" type="hidden">
将此添加到您的表单中
post_max_size
也需要引发,因为它会引发 POST Content-Length
错误。
我正在创建一个视频上传系统,当我提交视频时,它向我显示:
TokenMismatchException in VerifyCsrfToken.php line 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() 并且仍然出现错误。可能是什么问题?
将 {{ csrf_field() }}
更改为 {!! csrf_field() !!}
。
默认情况下,Laravel 将转义任何注入到模板中的数据。通过在 {!! !!}
标记中包围对 csrf_field
的调用,您告诉 Laravel not 转义由 csrf_field()
函数。
<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>
这可能对您有所帮助
<input name="_token" value="{{csrf_token()}}" type="hidden">
将此添加到您的表单中
post_max_size
也需要引发,因为它会引发 POST Content-Length
错误。