我正在使用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);
}
这是我的桌子。
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'),
],
],
];
答案 0 :(得分:0)
请使用storage_path
Laravel函数获取storage
文件夹的完全限定路径。
请参阅link
例如
$filename = storage_path('/imageFolder/photo.jpg');