Laravel请求$ request-> file()始终为空

时间:2015-09-26 21:58:06

标签: javascript php laravel file-upload laravel-5

我有一个包含上传多个文件的字段的表单。到现在为止还挺好。因此,当我选择几个文件并点击提交按钮时,无论如何,$request->file()始终为空。我的字段名称为images_json

我怀疑路由为PATCHPUT可能导致此问题(考虑到我在创建和更新时上传图像),我做了一个单独的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');
}

这将是一个回应:

[{},{},{}]

(是的,我选择了三张照片)

无论如何,它总是空白回来。现在这是我无法弄清楚的事情。

2 个答案:

答案 0 :(得分:2)

我认为您是通过ajax发送数据的,因此您可以尝试从$_FILES获取文件。 我在使用fineuploader时遇到了同样的问题,并在从$_FILES而不是$request->file()获取数据时解决了这个问题

答案 1 :(得分:0)

尝试将其放在控制器文件的顶部

使用Illuminate \ Http \ UploadedFile;