Поскольку URL-адрес большого двоичного объекта декодируется с помощью base64, вам необходимо сначала его кодировать.Для этого вы можете использовать JavaScript или PHP .
JavaScript:
С JavaScript вы можете просто использовать atob () функция для кодирования вашего base64 url следующим образом:
<script>
var x = <?php echo $row['image'] ?>
document.getELementById("code").innerHTML = atob(x);
</script>
<div class="room-thumb"><?php echo '<img alt="room 3" class="img-responsive" src="data:image;base64,' ?><span id="code"></span><?php echo '">'; ?>
<!-- DIV CONTENT HERE -->
</div>
Однако, как указано в этом другом потоке SO , было бы лучше, если бы вы использовали сам PHP или другие подходы JavaScript (упомянутые втот же поток) для извлечения и кодирования URL-адреса base64, поскольку вышеприведенный подход небезопасен.
PHP:
С помощью PHP вы можете либо кодировать URL-адрес base64 перед его выводом в свойHTML вроде этого:
<?php echo '<img alt="room 3" class="img-responsive" src="data:image;base64,' . base64_encode(.$row['image']).'">'; ?>
Или вы можете создать новый php-файл, кодировать PHP в этом файле и затем отобразить закодированный URL-адрес base64 в свой HTML-код следующим образом:
<!-- PHP file -->
<?php
$id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = base64_encode(getImageFromDatabase($id)); // your code to fetch the image
header('Content-Type: image/jpeg');
echo $image;
?>
<!-- HTML -->
<img src="image.php?id=<?php echo $image_id; ?>" />
Проверьте принятый ответ в этом другом SO-потоке для более подробного объяснения двух вышеупомянутых подходов PHP.