Как получить путь из публичной ссылки / ссылки на хранилище изображений? - PullRequest
0 голосов
/ 11 июля 2019

Я создал символическую ссылку на свое локальное хранилище "(php artisan storage: link)", затем я сохраняю изображения в своей общей папке следующим образом

public function store(PostStoreRequest $request)
    {
        $validated = $request->validated();
        if($request->hasFile('postImage')) {
            $path = $request->file('postImage')->store('public/images');
            $validated['postImage'] = $path;
        }

        $post = auth()->user()->posts()->create($validated);
        $post->categories()->attach($request->category);
        return redirect()->route('articulos.index');
    }

, например, $ path содержит public/images/IdC24xVkoFZiJFWtyKQ2T1xBVrS0GGU3d2Z4NXgP.jpeg, он сохраняет изображение в хранилище / app / public / images.

Затем в блейде я показываю изображение вот так:

<img class="card-custom-img-post" src="{{ asset('storage/'.$post->postImage) }}">

Генерирует этот URL: http://localhost/project/public/storage/public/images/IdC24xVkoFZiJFWtyKQ2T1xBVrS0GGU3d2Z4NXgP.jpeg

Но правильный ответ: http://localhost/project/public/storage/images/IdC24xVkoFZiJFWtyKQ2T1xBVrS0GGU3d2Z4NXgP.jpeg

В любом случае, чтобы получить правильный URL-адрес без замены или чего-либо подобного?

1 Ответ

0 голосов
/ 11 июля 2019

У вас есть 2 решения:

Вы не сохраняете строку «public /» в пути (ваш путь будет «images / ...»).

Или небольшой обходной путь:

<img class="card-custom-img-post" src="{{ asset('storage/' . str_replace("public/", "", $post->postImage)) }}">
...