我制作了一个 API,它向我发送了许多数据。其中之一是来自我的 MySQL 数据库的 blob。我可以看到 blob 编码为 base64,但我不能在 img 标签中使用它来显示我的图像。
我已经看过其他人的问题了。顺便说一下,我认为 img 标签是正确的。也许是 JSON 对我的数据做了一些事情......
我来自 API 的数据
array (size=2)
0 =>
object(stdClass)[1]
public 'LId' => string '1' (length=1)
public 'LNom' => string 'Visual Paradigm' (length=15)
public 'IImage' => string '\/9j\/4AAQSkZJRgABAQAAAQABAAD'... (length=8455)
1 =>
object(stdClass)[2]
public 'LId' => string '2' (length=1)
public 'LNom' => string 'Visual Studio' (length=13)
public 'IImage' => string '\/9j\/4AAQSkZJRgABAQEAYABgAAD'... (length=44843)
API调用:
$url = "localhost/projet/api/fake/getSoftwaresFAKE.php";
$data = CallAPI('GET', $url);
$json = json_decode($data);
echo '<img src="data:image/jpeg;base64,'.($json[1]->IImage).'"/>';
接口代码
<?php
// on se connecte à MySQL et on sélectionne la base
$mysqli = new mysqli("192.168.1.23", "API", 'Pa$$w0rd', "AtoutProtectDB");
if ($mysqli->connect_errno) {
echo "Echec lors de la connexion à MySQL : (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
// on crée la requête SQL
$req = $mysqli->query('SELECT LId, LNom, IImage FROM Logiciels, Images WHERE Logiciels.IId = Images.IId');
$req->data_seek(0);
while ($row = $req->fetch_assoc()) {
$data [] = ['LId' => $row['LId'],'LNom' => $row['LNom'],'IId' => base64_encode($row['IImage'])];
}
echo json_encode($data);
?>
千巷猫影
森栏