作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个html:
<input id="input-id" type="file" accept=".mp3, .mp4" name="file" class="form-control"><br>
<input type="hidden" id="getfilename" name="uploadedfile" value="">
还有这个用于上传文件的 jquery 插件:
$("#input-id").fileinput({
maxFileSize: 264000,
uploadUrl: "{{url('/rate/uploadfile')}}",
uploadAsync: true,
allowedFileExtensions: ['mp3', 'mp4', 'mpeg', 'flv'],
maxFileCount: 1,
showUpload: true,
dropZoneEnabled: false
});
以及Web中间件组下的路由:
Route::post('rate/uploadfile', 'RateController@uploadfile');
每当我尝试上传文件时,我都会收到熟悉的错误:
TokenMismatchException in VerifyCsrfToken.php
最佳答案
首先将此代码添加到您的表单中 <input type="hidden" id="csrf_token" name="_token" value="{{ csrf_token() }}">
这会使用 laravel 的 csrf_token() 函数在您的表单上添加一个 csrf token 字段。然后在你的脚本中添加这个
$("#input-id").fileinput({
maxFileSize: 264000,
uploadUrl: "{{url('/rate/uploadfile')}}",
uploadAsync: true,
uploadExtraData:{'_token':$('#csrf_token').val()
allowedFileExtensions: ['mp3', 'mp4', 'mpeg', 'flv'],
maxFileCount: 1,
showUpload: true,
dropZoneEnabled: false
});
如果您使用http://plugins.krajee.com/file-input这个插件用于文件上传然后 uploadExtraData:{'_token':$("#csrf_token").val()},
此行应添加 csrf token 作为 ajax 请求的额外 post 参数。希望这会有所帮助。
关于php - 如何通过此文件上传传递 csrf token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40457426/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!