隨便寫寫:很久沒寫了,今天閑的。
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,這樣就好了
1 <form class="form-inline" action="{{ route('voyager.'.$dataType->slug.'.import.excel') }}" method="POST" 2 enctype="multipart/form-data"> 3 {{ csrf_field() }} 4 <div class="form-group"> 5 <label for="exampleInputFile">Excel報表:</label> 6 <input class="form-control" name="file" type="file" id="exampleInputFile"> 7 </div> 8 <div class="form-group"> 9 <label for="example"></label> 10 <input class="form-control btn-primary" type="submit" id="example" value="導入Excel"> 11 </div> 12 </form>