在 laravel 7x 中的路径中找不到文件

File not found at path in laravel 7x

我在 storage/public 有一张图片,我想通过存储库访问它,但我收到错误消息 "File not found at path"

我在互联网上搜索了很多,但没有找到解决问题的方法,所以请帮助我。

我的代码:

$filename = '123.jpg';
$path = storage_path()."/".$filename;
Storage::disk('local')->get($path);
dd($contents);

错误:

Illuminate\Contracts\Filesystem\FileNotFoundException
C:\xampp\htdocs\admin\storage/123.jpg

我尝试过的事情:

php artisan storage:link

filesystem.php

<?php

return [
    'default' => env('FILESYSTEM_DRIVER', 'local'),

    'cloud' => env('FILESYSTEM_CLOUD', 's3'),

    'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
            'permissions' => [
                'file' => [
                    'public' => 0664,
                    'private' => 0600,
                ],
                'dir' => [
                    'public' => 0775,
                    'private' => 0700,
                ],
            ]
        ],

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

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
        ],

    ],

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

];

您的文件位于 storage/public 文件夹下,但您试图从 storage 文件夹访问它。

检查你的错误路径C:\xampp\htdocs\admin\storage/123.jpg

改变

$path = storage_path()."/".$filename;

$path = storage_path('public/' . $filename);