【问题标题】:Laravel Request $request->file() is always blankLaravel 请求 $request->file() 始终为空
【发布时间】:2015-12-24 11:32:25
【问题描述】:

我有一个表单,其中包含一个可以上传多个文件的字段。到目前为止,一切都很好。所以当我选择几个文件并点击提交按钮时,$request->file() 无论如何都是空的。我的字段名称是images_json

我怀疑路由是 PATCHPUT 可能会导致这种情况(考虑到我在创建和更新时上传图像),我创建了一个单独的 POST 路由来处理上传,并使用它自己的控制器操作并有第三个派对 jQuery 插件处理上传(blueimp jQuery File Upload 插件),猜猜……我又收到一个空响应!

是的,我的表单标签中有'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');
}

这将是一个回应:

[{},{},{}]

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

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

【问题讨论】:

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


    【解决方案1】:

    我认为您是通过 ajax 发送数据的,因此您可以尝试从 $_FILES 获取文件。 我对fineuploader也有同样的问题,当从$_FILES而不是$request-&gt;file()获取数据时解决它

    【讨论】:

    • 这是有效的,但我真的不明白为什么。愿意解释更多吗?
    【解决方案2】:

    试着把它放在你的控制器文件的顶部

    使用 Illuminate\Http\UploadedFile;

    【讨论】:

      猜你喜欢
      • 2017-07-10
      • 2016-07-15
      • 2020-06-26
      • 2019-07-23
      • 2021-05-06
      • 1970-01-01
      • 2021-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多