Laravel框架报错TokenMismatchException

2018-05-25 08:11 阅读 1,647 次 评论 0 条

在开发程序时候,遇到了Laravel框架报错TokenMismatchException的错误,经过调查原因和处理方法如下:

错误原因:

1、Laravel框架开启了CSRF防御,但是POST提交过去的字段中没有生成_token。

2、如果你提交的字段中带有了_token,(建议直接在模板通过函数csrf_field去生成),还出现这个错误,那可能就是你POST过去的数据,超过了PHP配置中的值,即使你upload_max_filesize 的值是比你POST的文件要大,如果post_max_size小了,POST内容依然会读取不到,而且会影响其他的field。

总共需要在ini配置两个参数:post_max_size,upload_max_filesize ,

这两个大小最好设置post比upload的大即可,

比方说upload_max_filesize 大小限制150M,post_max_size大小就设置个151M。

<form class="form-inline" action="{{ route('voyager.'.$dataType->slug.'.import.excel') }}" method="POST"  enctype="multipart/form-data">
{{ csrf_field() }}
<div class="form-group">
<label for="exampleInputFile">Excel报表:</label>
<input class="form-control" name="file" type="file" id="exampleInputFile">
</div>
<div class="form-group">
<label for="example"></label>
<input class="form-control btn-primary" type="submit" id="example" value="导入Excel">
</div>
</form>

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:Laravel框架报错TokenMismatchException | 雨晨博客

发表评论


表情