Как получить доступ к файлу хранилища, используя запрос к базе данных в LARAVEL - PullRequest
0 голосов
/ 09 октября 2019

Я работаю с проектом Laravel и столкнулся с проблемой. Я создал модель базы данных под названием «Product», в которой есть поле «product_image», а его тип данных - строка.

public function up()
    {
        Schema::create('Products', function (Blueprint $table) {
            $table->string('product_image')->nullable();
            $table->timestamps();
        });
    }

Используя контроллер, я разрешил загружать изображение продукта и модель продукта, способную получить это. имя активного файла с его расширением, даже я могу найти этот загруженный файл на storage/app/example.jpg.

$file = $request->file('product_image');
        $filename = 'product_image-' . time() . '.' . $file->getClientOriginalExtension();
        $path = $file->storeAs('product-image', $filename);
        $product->product_image = $path ;

Но когда я запускаю цикл @foreach на своем шаблоне блейда и пытаюсь получить изображение поверх этого.

@foreach ($products as $p)
<tr>
<td>{{$p->product_title}}</td>
<td><img src="/storage/app/product-image/{{$p->product_image}}" alt="" style="height:80px; width:80px"/></td>
@endforeach

Я ничего не нашел, и поле изображения все еще отображается без исходного изображения :( введите описание изображения здесь

Я обнаружил проблему, но не знаюрешение и потеряно в темноте. Фактическая проблема в, <img src=" / storage / app / product-image / {{$ p-> product_image}} " alt="" style="height:80px; width:80px"/>

, потому что не найден URLдля этого изображения.

Мой вопрос заключается в том, как мы можем предоставить URL для этого конкретного изображения, используя цикл for, который сможет найти это изображение из каталога storage / app / example. Заранее спасибо.

1 Ответ

0 голосов
/ 09 октября 2019

Можете ли вы получить доступ к изображению в вашем браузере, как - http://urdomain.com/storage/app/product-image/example.jpg?

В своем вопросе вы упомянули storage / app / example.jpg, но при доступе в своем шаблоне вы имеете в видуэто как хранилище / app / product-image / example.jpg. Путь был бы проблемой?

Ваш цикл выглядит как ОК. ИМО.

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