我有一个包含上传多个文件的字段的表单。到现在为止还挺好。因此,当我选择几个文件并点击提交按钮时,无论如何,$request->file()
始终为空。我的字段名称为images_json
。
我怀疑路由为PATCH
或PUT
可能导致此问题(考虑到我在创建和更新时上传图像),我做了一个单独的POST路由来处理上传并使用自己的控制器操作并有一个第三方jQuery插件处理上传(blueimp jQuery文件上传插件),并猜测...我再次收到空响应!
是的,我的表单标记中有'files' => true
,它非常好地吐出enctype="multipart/form-data"
属性。
这就是我目前在视图中所拥有的内容(依赖于表单提交按钮的普通文件上传):
<div class="form-group form-md-line-input">
{!! Form::label('images_json', 'Bilder hochladen', ['class' => 'col-md-2 control-label']) !!}
<div class="col-md-10">
<div class="fileinput fileinput-new" data-provides="fileinput">
<span class="btn green-seagreen btn-file">
<i class="glyphicon glyphicon-plus"></i>
<span class="fileinput-new">Bilder auswählen...</span>
<span class="fileinput-exists">Mehr auswählen</span>
{!! Form::file('images_json[]', ['multiple']) !!}
</span>
<span class="fileinput-preview" style="max-height: 32px;"></span>
<a href="javascript:;" class="close fileinput-exists" data-dismiss="fileinput"></a>
</div>
</div>
</div>
这就是行动:
public function update(CreateEntryRequest $request, $id)
{
return $request->file('images_json');
}
这将是一个回应:
[{},{},{}]
(是的,我选择了三张照片)
无论如何,它总是空白回来。现在这是我无法弄清楚的事情。
答案 0 :(得分:2)
我认为您是通过ajax发送数据的,因此您可以尝试从$_FILES
获取文件。
我在使用fineuploader时遇到了同样的问题,并在从$_FILES
而不是$request->file()
获取数据时解决了这个问题
答案 1 :(得分:0)
尝试将其放在控制器文件的顶部
使用Illuminate \ Http \ UploadedFile;