アセットを使用してビューに表示する正しい画像 URL を取得できません。storage
関数を使用するときに必要な生成された URLが欠落しており、次のようなパスasset
に手動で追加する必要がありますstorage
asset('storage/' . $post->image)
storage
Laravel が自動的に追加しない理由がわかりません。
symlink ストレージ
次のコマンドを使用して、ストレージ フォルダーのシンボリック リンクを作成しました。
php artisan storage:link
質問:
私が探しているのは、storage
フォルダをパスに動的に追加する必要があるため、パスのみを渡す必要があること$post->image
です。
コントローラ
public function store(PostRequest $request)
{
// upload the image to storage
$image = $request->image->store('posts', 'public');
// create the post
Post::create([
'title' => $request->title,
'description' => $request->description,
'content' => $request->content,
'image' => $image,
]);
// redirect with flash message
return redirect(route('posts.index'))->with('success', 'Post is created');
}
DBimage
列格納パス
posts/ibexiCvUvbPKxzOLSMHQKPpDq7eZXrFA0stBoPfw.jpeg
意見
<tbody>
@foreach($posts as $post)
<tr>
<td>
<img src="{{asset($post->image)}}" width="60" height="60" alt="">
</td>
<td>{{ $post->title }}</td>
</tr>
@endforeach
</tbody>
ストレージ パス
HTML ソース
上記の参照でわかるように、正しい URL を取得するには、追加する必要がありstorage
ますasset('storage/'. $post->image)