laravel5.8:GET 404(未找到)

时间:2019-07-19 04:04:02

标签: php laravel laravel-5 get file-not-found

我正在使用laravel 5.8和laravel-medialibrary:^ 7.0.0。

我想上传我的图片,并在个人资料编辑页面中检索。 但这不起作用。

在控制台中,出现错误GET 'my image file' 404 (Not Found)

这是我的代码。我在php artisan storage:link

之后使用了这段代码

show.blade.php (我的个人资料编辑视图页面)

<img src="{{ asset('storage/'.$channel->image) }}" alt="">

我也尝试过

<img src="{{ $channel->image() }}" alt="">

ChannelController.php

public function update(Request $request, Channel $channel)
    {
        if($request->hasFile('image')) {
            $channel->clearMediaCollection('images');
            $channel->addMediaFromRequest('image')
            ->toMediaCollection('images');
        }

        $channel->update([
            'name'=> $request->name,
            'description'=> $request->description
        ]);

        return redirect()->back();
    }

Channel.php

public function registerMediaConversions(?Media $media = null)
    {
        $this->addMediaConversion('thumb')
            ->performOnCollections('images')
            ->width(100)
            ->height(100);
    }

这是我的桌子。

媒体表 media table 频道表 channel table

filesystems.php

 'disks' => [

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

        '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'),
        ],

    ],

];

1 个答案:

答案 0 :(得分:0)

请使用storage_path Laravel函数获取storage文件夹的完全限定路径。 请参阅link

例如 $filename = storage_path('/imageFolder/photo.jpg');