为了账号安全,请及时绑定邮箱和手机立即绑定

Lumen 没有从发送的表单数据中收到任何文件

Lumen 没有从发送的表单数据中收到任何文件

PHP
慕哥6287543 2022-07-22 16:47:38
我在 chrome 中检查了 Headers 发送的表单数据,它看起来像这样:现在看起来我的 POST 请求中有一个名为“files”的图像文件。现在在我的流明控制器中,我执行以下调试以尝试获取文件:return response([$request->hasFile('files'), $request->file('files'), $request->get('files')]);然而,我得到的是这样的回应:[真,{},空]这是我在我的反应应用程序中提出的请求:const formData  = new FormData();formData.append("files", this.state.productData[key][0]);        fetch(`${process.env.REACT_APP_API_URL}/products/submit`, {            method: 'POST',            body: formData,        })有谁知道我为获取图像所做的事情有什么问题?
查看完整描述

1 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

该$request->file()方法返回该类的一个实例,Illuminate\Http\UploadedFile并在您的响应中显示为 a {},但您的文件已上传,并且在何时有效,$request->hasFile()因此true您可以像这样检索其属性:


if ($request->hasFile('files')) {

    $files = $request->file('files');


    return response()->json([

        'path' => $files->path(),

        'name' => $files->getClientOriginalName(),

        'size' => $files->getSize()

    ]);

}

或者,如果您想以文件的形式获得响应:


if ($request->hasFile('files')) {

    return response()->file(

        $request->file('files')->path()

    );

}

请参阅 Laravel 文档以获取和存储上传的文件。


注意:我建议使用其他名称,files因为$request->files它是Symfony\Component\HttpFoundation\FileBag类的一个实例,并且当您想$request->files用作$request->file('files').


查看完整回答
反对 回复 2022-07-22
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号