後TokenMismatchException我已經設置php.ini中(Nginx的)Laravel:上傳大的視頻文件
upload_max_size = 100MB
post_max_size = 200mb
我想一個15MB的視頻上傳到我的程序。起初我得到這個錯誤。
TokenMismatchException in VerifyCsrfToken.php line 68:
所以我在VerifyCSRFToken中間件的異常中添加了'/ lesson/store'。
這裏的簡碼凸顯視頻輸入:
<div class="form-group">
<label class="control-label col-sm-2" for="video">Video:</label>
<div class="col-sm-10">
<input class="form-control" type="file" accept="video/*" name="video" id="video" required>
</div>
</div>
這裏是整個表單代碼:
<form method="{{$method}}" action="{{url('')}}{{$action}}" class="form-horizontal" runat="server" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="form-group">
<label class="control-label col-sm-2" for="title">Title:</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="title" name="title" placeholder="Enter title" required value="{{ $lesson->title or '' }}">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="description">Description:</label>
<div class="col-sm-10">
<textarea class="form-control" id="description" name="description">{{ $lesson->description or '' }}</textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="episode">Episode:</label>
<div class="col-sm-10">
<input type="number" class="form-control" id="episode" name="episode" placeholder="" required value="{{ $lesson->episode or '' }}">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="video">Video:</label>
<div class="col-sm-10">
@if(!empty($lesson->video))
<input class="form-control" type="file" accept="video/*" name="video" id="video">
<div class="video">
<video width="100%" style="height:200px" controls>
<source src="{{url('uploads/courses/' . $lesson['course_id']. '/' . $lesson['video'])}}" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
@else
<input class="form-control" type="file" accept="video/*" name="video" id="video" required>
@endif
</div>
</div>
<div class="form-group">
<label class="col-sm-2"></label>
<div class="col-sm-10">
<input type="submit" value="{{$button}}" class="btn btn-success">
<a href="{{ url()->previous() }}" class="btn btn-danger">Cancel</a>
</div>
</div>
</form>
然後我試圖再次上傳和我收到一個驗證錯誤說:
The video field is required
因爲我在我的代碼中有這個:
$this->validate($request, [
'video' => 'required|mimetypes:video/avi,video/mpeg,video/quicktime,video/mp4|max:40000'
]);
我真的不知道如何解決這個問題。
更新:我上傳5MB視頻和我得到這個驗證錯誤:
The video failed to upload.
添加視頻時,請在「表單」中向我們顯示您的代碼! –
除了php.ini,你還增加了nginx的上傳大小嗎? (查看https://laracasts.com/discuss/channels/laravel/csrf-mismatch-with-multipartform-data) – apokryfos
我剛纔那樣還是得到了tokenmismatch錯誤。 –