从 Laravel 请求中删除请求文件

bnn*_*oor 0 laravel

当我想在 laravel 中使用表单上传文件时,我无法从请求中删除文件值

这是我的完整代码

if($request->hasFile('image')){
            $string_name = str_random(12);
            $image = $request->file('image')->move(getcwd().'/image/original',$string_name.'.'.$request->file('image')->getClientOriginalExtension());
            $request->request->remove('image');
        }
        if($request->hasFile('thumbnail')){
            $string_name = str_random(12);
            $thumbnail = $request->file('thumbnail')->move(getcwd().'/image/thumbnail',$string_name.'.'.$request->file('thumbnail')->getClientOriginalExtension());
        }

        Portfolio::create($request->all());
Run Code Online (Sandbox Code Playgroud)

但是imagethumbnail文件不要从$request. 这意味着这行代码不起作用:

$request->request->remove('image');
Run Code Online (Sandbox Code Playgroud)

我尝试了很多方法,但file没有从请求中删除。

thi*_*vin 5

您可以使用on 方法明确提及要保存到模型中的内容,而不是在保存之前image从您的中删除。$request->only([])$request

Portfolio::create($request->only(['title', ...]));
Run Code Online (Sandbox Code Playgroud)

这将允许您准确指定要从$request数据中保存的内容。

您可以反过来操作并使用该->except()方法删除image

Portfolio::create($request->except('image'));
Run Code Online (Sandbox Code Playgroud)