php Laravel存储:图像未显示

l3zydbqr  于 2023-10-15  发布在  PHP
关注(0)|答案(1)|浏览(139)

我正在使用Laravel最新版本,我想展示这样的图像:

<img src="{{ asset('storage/'.$media->med_path) }}" alt="Thumbnail" style="width: 100px; height: auto;">

当我看到源代码时,它将此值添加到image标记的**src**属性:
http://localhost:8000/storage/public/medias/jpg/57N8MJmsp2y8P0aexysV_200x200.jpg
但图像本身并没有以某种方式显示出来:

这里也是DB中变量($media->med_path)的值:

public/medias/jpg/57N8MJmsp2y8P0aexysV_200x200.jpg

但是,我已经运行了php artisan storage:link命令,并且通过此filesystems.php配置文件已经存在链接:

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
            'throw' => false,
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
            'throw' => false,
        ],

        ...

        'links' => [
            public_path('storage') => storage_path('app/public'),
        ],

并且图像已经存在于我的项目的这个目录中:

-project
     -storage
           -app
                -public
                     -medias
                          -jpg
                               -57N8MJmsp2y8P0aexysV_200x200.jpg

到底出了什么问题如何解决这个问题并正确显示图像?

tag5nh1u

tag5nh1u1#

您可以从http://localhost:8000/storage/medias/jpg/57N8MJmsp2y8P0aexysV_200x200.jpg的公共链接访问存储
你不应该得到存储直接当你存储在DB存储链接像这样的图像URL:storage/medias/jpg/57N8MJmsp2y8P0aexysV_200x200.jpg
当你想把它放在刀刃上时,像这样:

<img src="{{ asset($media->med_path) }}" alt="" />

相关问题