如何显示来自Laravel的公共/存储/图像中的图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何显示来自Laravel的公共/存储/图像中的图像相关的知识,希望对你有一定的参考价值。

profile.blade.php

 <form action="route('user.profile.update',$user)" method="post" enctype="multipart/form-data">
            @csrf
            @method('PUT')

                <div>
                <img height="100px;" class="img-profile rounded-circle" src="$user->avatar">

                </div>
                <br>
                <div class="form-group">
                <input type="file" name="avatar">

                </div>
    </form>

web.php

Route::put('admin/users/user/update','UserController@update')->name('user.profile.update');

User.php

public function getAvatarAttribute($value)
        return asset($value);
    

UserController:

public function update(User $user)


        $inputs=request()->validate([

                'file'=>['file'],




                ]);


        if(request('avatar'))
           $inputs['avatar']=request('avatar')->store('images');
        

        $user->update($inputs);

        return back();
    

这是一个profile.blade.php

enter image description here

如何显示来自Laravel的公共/存储/图像中的图像

enter image description here

如果我检查图像,则src为src =“ http://127.0.0.1:8000/images/dT9gvraL3HbTlHcQly96YwoSJdikNj7fVL1dsIzT.jpeg”。我怎么做错了?

答案

考虑到您存储的图像名称不带URL。

现在,在User.php中,

public function getAvatarAttribute($value) 
    return asset('storage/'.$value); 


希望这会对您有所帮助。

另一答案

获取公共URL的可访问URL。 Laravel提供了asset助手。

例如,如果图像存储在

public / storage / image / user.png

您可以轻松访问如下图像:

asset('storage / image / user.png')//将完整的url输出到文件中

注意:公用文件夹被视为基本目录。

以上是关于如何显示来自Laravel的公共/存储/图像中的图像的主要内容,如果未能解决你的问题,请参考以下文章

显示来自存储 laravel 5.3 的图像

如何显示存储在数据库 PHP 中的图像路径? (Laravel 兰花)

Laravel 存储符号链接图像视图

如何在 Laravel 7 中使用 Livewire 显示存储路径中的图像

在输入'php artisan storage:link'命令后,如何使用Laravel链接存储文件夹在Heroku上显示图像?

在 laravel 中更新时如何删除公共/文件夹中的多个图像?