Я использую Smarty, MySQL и я просто пытаюсь отобразить изображение.
Это ошибка, которую я получаю —
Ресурс интерпретируется как Image, но передается с MIME-типом text / html
<img src="http://localhost/admin/image2.php?id={$editWine[0].id}" width="150" height="260" border="0" class="bottle-img" id="smallImageWineEdit" />
$id=$_REQUEST['id'];
$sql="SELECT * FROM table WHERE id=$id";
$result=mysql_query($sql) or die(mysql_error());
while($row=@mysql_fetch_assoc($result))
{
echo '<img src="data:image/jpeg;base64,'.base64_encode( $row['image_data'] ).'" width="150" height="150" />  ';
echo $row['image_data'];
}
Это эхо внутри цикла пока работает нормально.
И когда я проверяю элемент и открываю ссылку img в новой вкладке, изображение отображается. тогда как его не отображается на текущей странице.
Проблема в том, что вы снова доставляете теги html из файла изображения. Вам просто нужно вывести данные изображения с правильным типом содержимого изображения.
редактировать image2.php
лайк
if($row=@mysql_fetch_assoc($result))
{
header('Content-type: image/jpg');
echo $row['image_data'];
exit();
}
Сделайте вышеуказанные изменения и запросите http://localhost/admin/image2.php?id=VALID_ID_HERE
в браузере и проверьте, не переустанавливает ли изображение. Затем вы можете использовать его в теге src index.php
чтобы показать это там. Если вы получаете ошибки при рендеринге изображения, когда вы запрашиваете его, убедитесь, что вы запрашиваете правильный идентификатор изображения в БД, и обновите вопрос сообщениями об ошибках, которые вы видите.
Других решений пока нет …