从laravel请求中删除请求文件

时间:2018-10-26 08:59:52

标签: 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());

imagethumbnail文件不会从$request中删除。这意味着这行代码不起作用:

$request->request->remove('image');

我尝试了很多方法,但是file并未从请求中删除。

2 个答案:

答案 0 :(得分:2)

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

Portfolio::create($request->only(['title', ...]));

这将使您可以准确地指定要从$request数据中保存的内容。

您可以进行相反的操作,也可以使用->except()方法删除image

Portfolio::create($request->except('image'));

答案 1 :(得分:0)

使用此操作删除文件

$request->offsetUnset('input_file_name');

$request->except('filename');