猿问

流明不会从发送的表单数据中接收任何文件

我在chrome中检查了标题为表单数据发送的内容,如下所示:

现在看起来在我的POST请求中有一个名为“files”的图像文件。


现在,在Lumen的控制器中,我执行以下调试以尝试获取文件:


return response([$request->hasFile('files'), $request->file('files'), $request->get('files')]);

然而,我在回应中得到的是这样的:


[true,{},null]


这是我在 react 应用程序中提出的请求:


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,

        })

有谁知道我为获得图像所做的一切出了什么问题?


撒科打诨
浏览 166回答 1
1回答

芜湖不芜

该方法返回类的一个实例,并在响应中显示为 a,但您的文件已上传,当 is 有效时,因此您可以检索其属性,如下所示:$request->file()Illuminate\Http\UploadedFile{}$request->hasFile()trueif ($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->filesSymfony\Component\HttpFoundation\FileBag$request->files$request->file('files')
随时随地看视频慕课网APP
我要回答