您好,
尝试使用Laravel 5.2上传视频时,我收到了标题中提到的错误。
图片正常工作。
我已经检查了我的MAMP服务器的PHP.ini设置。
我使用表单外观,所以我不必将令牌导入到我的表单中。
我很无能为力,是否有人建议它可能是什么?
<div class="container spark-screen">
<div class="row">
<div class="col-md-10 col-md-offset-1">
<div class="panel panel-default">
<div class="panel-heading">Bestand uploaden</div>
<div class="panel-body">
{!! Form::open(
array(
'url' => 'uploads',
'class' => 'form',
'novalidate' => 'novalidate',
'files' => true)) !!}
@include('uploadspanel.create_form')
{!! Form::close() !!}
</div>
</div>
</div>
</div>
</div>
控制器:
public function store(UploadRequest $request){
$extension = Input::file('file')->getClientOriginalExtension();
$filename = rand(11111111, 99999999). '.' . $extension;
Input::file('file')->move(
base_path().'/public/files/uploads/', $filename
);
$approved = $request['approved'];
$fullPath = '/public/files/uploads/' . $filename;
$upload = new Uploads(array(
'name' => $request['name'],
'format' => $extension,
'path' => $fullPath,
'approved' => $approved,
));
$upload->save();
$uploads = Uploads::orderBy('approved')->get();
return view('uploadspanel.index', compact('uploads'));
}
答案 0 :(得分:0)
确保您的表单中包含令牌,转到您的页面并进行检查,您应该会看到以下内容:
<input name="_token" type="hidden" value="Th4yqxNa3w3ooVAxRcSgvMug7ZEPA6BtaUw4qRck">
如果您不这样做,请将其添加到您的刀片中:
{{ Form::hidden("_token", csrf_token()) }}
您可能遇到的另一个问题是,如果您通过AJAX请求提交此表单,那么您也需要在其中传递令牌:
$.ajax({
url : '{{ route("your_route", optional_parameter) }}',
type : "post",
data : { '_token' : '{{ csrf_token() }}', 'var1' : var1 },
}).done(...)
答案 1 :(得分:0)
它与MAMP设置有关。当我回复php_info();
时想出来然后在第6行或第7行跟随我的php.ini路径 然后用另一个编辑器再次更改输入,保存它。
retart MAMP服务器
并完成了
答案 2 :(得分:0)
当您上传的文件小于最大上传大小但超过POST_MAX_SIZE时,会发生这种情况。 输入在POST_MAX_SIZE处被截断,这意味着csrf令牌丢失。
您可以在php.ini文件中更改这些值。