1

アセットを使用してビューに表示する正しい画像 URL を取得できません。storage関数を使用するときに必要な生成された URLが欠落しており、次のようなパスassetに手動で追加する必要がありますstorageasset('storage/' . $post->image)

storageLaravel が自動的に追加しない理由がわかりません。

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)

4

2 に答える 2