Laravel 7 - неверный путь к образу хранилища - PullRequest
0 голосов
/ 02 апреля 2020

Я не могу выбрать правильный URL-адрес изображения для отображения в представлении с помощью ресурса. Сгенерированный URL требует storage, который отсутствует в нем, когда я использую функцию asset, и мне нужно вручную добавить storage в путь, например asset('storage/' . $post->image)

Я не понимаю почему Laravel не добавляет storage автоматически?

хранилище символической ссылки

Я создал символическую ссылку папки хранилища с помощью следующей команды

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');

}

DB image Путь к хранимой колонке

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>

Путь к хранилищу

enter image description here

HTML Источник

enter image description here

Как вы можете видеть в приведенных выше ссылках, чтобы получить правильный URL Я должен добавить storage в asset('storage/'. $post->image)

1 Ответ

1 голос
/ 02 апреля 2020

использование Storage::url() функция

<tbody>
@foreach($posts as $post)
    <tr>
        <td>
            <img src="{{ Storage::url($post->image)}}"  width="60" height="60" alt="">
        </td>
        <td>{{ $post->title }}</td>
    </tr>
@endforeach
</tbody>

ссылка ссылка https://laravel.com/docs/7.x/filesystem#file -urls

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...