【问题标题】:Intervention Image Upload Saved to Database with Folder Name使用文件夹名称保存到数据库的干预图像上传
【发布时间】:2020-06-09 06:18:02
【问题描述】:

我正在尝试上传带有干预图像的用户头像,如下私有函数

一切正常,但图像名称使用我的特定文件夹名称保存到数据库

例如:user_avatar/image.jpg

这是我的代码,谢谢大家

private function storeAvatar($user)
{
    if (request()->hasFile('avatar')) {
        $user->update([
            'avatar' => request()->avatar->store('user_avatar', 'public'),
        ]);
        $avatar = Image::make(public_path('storage/' .$user->avatar))->fit(300, 300);
        $avatar->save();
    }
}

enter image description here

【问题讨论】:

    标签: php laravel intervention


    【解决方案1】:

    您没有设置文件名。

    $path = $request->file('avatar')->storeAs(
        'avatars', $request->user()->id
    );
    

    如此处所示:https://laravel.com/docs/7.x/filesystem#file-uploads

    所以你的行应该是:

    
     $user->update([
                'avatar' => request()->avatar->storeAs('user_avatar', 'filename', 'public'),
            ]);
    

    或者类似的东西。您还可以通过使文件名与原始文件名相同来使用上传的文件名。

    $filename = $request->file('avatar')->getClientOriginalName();
    

    【讨论】:

    • 谢谢您的先生,我是初学者,所以请您为我编写完整的功能,而不是我可以从您的代码中学习
    猜你喜欢
    • 1970-01-01
    • 2020-12-10
    • 2021-07-15
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 2015-04-15
    相关资源
    最近更新 更多