; 添加到数据库 echo $imagename=$_FILES[-6ren">
gpt4 book ai didi

php - 如何转换 BLOB 图像在网页中显示

转载 作者:行者123 更新时间:2023-11-29 02:39:02 25 4
gpt4 key购买 nike

我正在尝试转换我插入的 BLOB 数据类型以显示到我的网页

我尝试使用 basecode64 但它不起作用

<td> <img src='data:image/jpg;base64,".base64_encode($photo->image)."'/></td> ;

添加到数据库

echo $imagename=$_FILES["myimage"]["name"]; 

//Get the content of the image and then add slashes to it
$imagetmp=addslashes (file_get_contents($_FILES['myimage']['tmp_name']));

$photo_image->auditID = $auditID;
$photo_image->critID = $critID;
$photo_image->image = $img;
$photo_image->image_name = $imagename;

$dao->add($photo_image);

从数据库中检索

public  function retrieveName($photo_image) {
$sql = 'select * from audit_trans_photo where auditID=:auditID and critID=:critID';
$result = array();

$connMgr = new ConnectionManager();
$conn = $connMgr->getConnection();

$stmt = $conn->prepare($sql);
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->bindParam(':auditID', $photo_image->auditID, PDO::PARAM_INT);
$stmt->bindParam(':critID', $photo_image->critID, PDO::PARAM_INT);

$stmt->execute();

if($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$result = new Audit_Trans_Photo($row['auditID'], $row['critID'], $row['image'], $row['image_name']);
}

return $result;
}

编辑view.php

 $dao3 = new Audit_Trans_PhotoDAO();
$photo_image = new Audit_Trans_Photo();
$photo_image->auditID = $auditID;
$photo_image->critID = $n_transaction->critID;

$photo = $dao3->retrieveName($photo_image);
$image_p = $photo->image;

echo <td> <img src='data:image/jpg;base64,".base64_encode($photo->image)."'/></td> ;

它只是显示了一个损坏的图像。

最佳答案

尝试将图像作为数组 返回。我想你知道,所以请尝试以下操作,

echo '<img src="data:image/jpeg;base64,'.base64_encode( $photo->image['image'] ).'" />';

因为你在这条语句中使用了addslashes

$imagetmp = addslashes (file_get_contents($_FILES['myimage']['tmp_name']));

像这样显示图像时必须添加stripslashes

echo '<img src="data:image/jpeg;base64,'.base64_encode(stripslashes($photo->image)).'" />';

而且我也没有看到您在任何地方插入 $imagetmp。当我检查你的 base 64 string 时,它显示了一个损坏的图像。所以我假设您的图片没有正确上传。

关于php - 如何转换 BLOB 图像在网页中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56769219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com