【发布时间】:2015-05-14 16:35:54
【问题描述】:
我有一个文件上传表单,其中包含 csrf 令牌 的隐藏字段。当文件小于 1MB 时,一切正常,但是当我上传大文件时,请求会花费更多时间,而且令牌似乎过期了,因为我收到了 TokenMismatchException,有什么解决方法吗?谢谢
这是我的表格:
<form method="POST" action="" enctype="multipart/form-data">
<input type="hidden" name="_token" value="{{{ csrf_token() }}}" />
<input type="hidden" name="user_id" value="{{ $user->id }}" />
<div class="form-group">
<label for="file">File</label>
<input type="file" name="file" />
</div>
</form>
这是我的控制器:
public function store(Request $request)
{
$file = $request->file('file');
$fileName = $file->getClientOriginalName();
$user = User::findOrFail ($request->get('user_id'));
$filePath = "/app/files/$user->id/";
$file->move(storage_path().$filePath, $fileName);
return redirect('/users/' . $user->id . '/files')->with('uploaded', true);
}
【问题讨论】:
-
您是否尝试过更改会话驱动程序?
-
还没有尝试...但是没有任何方法可以仅针对该表单禁用 CSRF 吗?