laravel - 无法合并请求输入文件 laravel

标签 laravel merge request

我想在验证通过时将 Laravel 请求合并到新值 但我无法合并或替换输入文件的输入键值 我需要更改输入键值以生成唯一的文件名并将其存储在存储中

这是我的代码:

public function store(Request $request)
{
    if ($request->hasFile('photo')) {
        $photo = $request->file('photo');

        $filename = sha1(uniqid()) . '.' . $photo->getClientOriginalExtension();

        Storage::disk('photo')->put($filename, $photo->get());

        $request->merge([
            'photo' => $filename,
        ]);
    }

    return $request->all();
}

预期结果:

[
    'id'    => '60028942359046444097',
    'name'  => 'Mio Akiyama',
    'photo' => '0c7b34056cb58e812376b84279605129b22646c7.jpg',
]

实际结果:

[
    'id'    => '60028942359046444097',
    'name'  => 'Mio Akiyama',
    'photo' => [

    ],
]

最佳答案

首先将请求数组分配给一个变量。

$array = $request->all();

然后,您就可以操作该数组变量的数据。

$array['photo'] = $filename;

return $array;

关于laravel - 无法合并请求输入文件 laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61810570/

相关文章:

java - 合并过程数组越界

python - 按行过滤数据框

laravel - 如何处理基于非用户的 Laravel API 的授权?

php - Laravel 动态更改模式

git - 当本地主分支上没有工作时, git pull --rebase 是否与 git pull 相同?

C# (429) 请求过多

python请求导入错误

django - 在 Django 中测试自定义管理操作

php - 在 Laravel 5 中设置 Bootstrap 导航栏事件类

Laravel 模型项目设置碳项目但返回字符串