Изображение не получено из базы данных - PullRequest
0 голосов
/ 30 июня 2019

Недавно я пытался получить изображение из базы данных, но оно не будет работать.Я пытаюсь сделать это с Laravel, но я изо всех сил, поэтому я решил попросить сообщество Stack Overflow выяснить, есть ли у них решение для меня.

Есть похожие вопросы, как этот на Stack Overflow.Но я не мог найти тот, где ответы были те, которые я искал.Я также посмотрел на веб-сайте Laracast, он мне немного помог, но все же недостаточно.Наконец, я прочитал вопрос переполнения стека: Показать изображение BLOB Laravel 4 .Но это мне тоже не помогло.

Мой контроллер:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\gallerijs;

class GalerijController extends Controller
{
    public function Retrieve(){
    $g = gallerijs::find(1);
    dd($g);
    $image = chunk_split(base64_encode($g->afbeelding));
    return view('gallerij')->with('image', $image);
}
}

Мой взгляд:

@extends ('Layout')
@section('title')
    Galerij
@endsection

@section('content')


<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

</head>
<body>

<div id="demo" class="carousel slide" data-ride="carousel">

  <!-- Indicators -->
  <ul class="carousel-indicators">
    <li data-target="#demo" data-slide-to="0" class="active"></li>
    <li data-target="#demo" data-slide-to="1"></li>
    <li data-target="#demo" data-slide-to="2"></li>
  </ul>

  <!-- The slideshow -->
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="{{asset('Pictures/'.$image)}}" alt="Los Angeles" width="1100" height="500">
    </div>
    <div class="carousel-item">
      <img src="{{asset('Pictures/loremipsum2.jpg')}}" alt="Chicago" width="1100" height="500">
    </div>
    <div class="carousel-item">
      <img src="{{asset('Pictures/loremipsum3.jpg')}}" alt="New York" width="1100" height="500">
    </div>
  </div>

  <!-- Left and right controls -->
  <a class="carousel-control-prev" href="#demo" data-slide="prev">
    <span class="carousel-control-prev-icon"></span>
  </a>
  <a class="carousel-control-next" href="#demo" data-slide="next">
    <span class="carousel-control-next-icon"></span>
  </a>
</div>

</body>
</html>


@endsection

Что возвращает мой dd($g):

gallerijs {#232 ▼
  #fillable: array:2 [▶]
  #connection: "mysql"
  #table: "gallerijs"
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  #perPage: 15
  +exists: true
  +wasRecentlyCreated: false
  #attributes: array:4 [▶]
  #original: array:4 [▶]
  #changes: []
  #casts: []
  #dates: []
  #dateFormat: null
  #appends: []
  #dispatchesEvents: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #hidden: []
  #visible: []
  #guarded: array:1 [▶]
}

Ì надеюсь, что предоставил вам достаточно информации, чтобы вы могли помочь мне решить проблему.

1 Ответ

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

Если вы измените тег изображения шаблона лезвия на что-то подобное, это должно решить вашу проблему. Обычно я всегда сохраняю изображения в традиционных папках. Это делает трюк для вашего домена.

    <img src="data:image/jpg;base64, {{ $image }}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...