Я использую 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 = "">
КаналКонтроллер.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();
}
Канал.php
public function registerMediaConversions(?Media $media = null)
{
$this->addMediaConversion('thumb')
->performOnCollections('images')
->width(100)
->height(100);
}
Это мой стол.
мультимедийный стол
таблица каналов
файловые системы.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'),
],
],
];
Извините, но не получилось...
Показать свой image path
в базе данных?
Привет, я добавил. Фотографии базы данных.
Пожалуйста, используйте функцию storage_path
Laravel, чтобы получить полный путь к папке storage
.
См. связь
например.
$filename = storage_path('/imageFolder/photo.jpg');
Куда мне нужно вставить этот код? Спасибо за ответ.
Какое у вас приложение/config/filesystems.php? Каков ваш медиа-путь в laravel-medialibrary? github.com/spatie/laravel-medialibrary Также можно посмотреть информацию о том, как получить медиа из медиабиблиотеки от docs.spatie.be/laravel-medialibrary/v7/basic-usage/…
Я поставил media path, но вроде проблем нет.
Пожалуйста, замените
<img src = "{{ asset('storage/'.$channel->image) }}" alt = "">
на<img src = "{{ storage_path($channel->image) }}" alt = "">
.