0

我有一个 php 代码,它从数据库中检索图像并通过使用 base64 对其进行编码将其存储在 json 中。

$query=mysql_query("SELECT Id,Image FROM $table_first");

 while ($row=mysql_fetch_assoc($query)) {
        $array=$row;
        $array['Image']=base64_encode($row['Image']);

       $output[]=$array;
    }
echo json_encode($output);

现在我有一个 html 文件,我必须在其中解码此图像并将其显示在 div 元素中。我不知道如何解码图像。

$(document).ready(function(){ 
$.ajax({
     url:"loc.php",
     dataType:'json',
     type:'POST',
      success:function(output) {
               }
 });

});
</script>
</head>
<body>
<p> Test page  </p>
<div class="Ch" id="Ch"></div>

在这里,我需要在 id 为“ch”的 div 中显示 ouptut[0].Image(采用 base64 格式)

4

2 回答 2

0

将图像直接存储在 DATABASE 中并不是一个好主意。我推荐的一种方法是将图像直接存储在服务器中的特定位置,然后将图像的路径插入数据库中。使用此方法可以避免很多麻烦。:) 顺便问一下,为什么要将图像编码为 base_64?您如何将图像存储在数据库中?

未经测试(假设路径存储在数据库表中)

$query=mysql_query("SELECT Id,Image FROM $table_first");

 while ($row=mysql_fetch_assoc($query)) {
        $image=$row['Image'];
        $id=$row['Id'];
        $output=array("id"=>$id,"image"=>$image);
    }
echo json_encode($output);

然后在你的ajax脚本中

$(document).ready(function(){ 
$.ajax({
     url:"loc.php",
     dataType:'json',
     type:'POST',
      success:function(output) { 
       var imagehtml='<img src="'+output.image+'" alt=""/>';
           $("#Ch").html(imagehtml); //id of the div where you want the image
               }
 });

});
</script>
于 2013-01-16T05:33:17.217 回答
0

您可以使用(假设为 png )
<img src="data:image/png;base64,input_your_base64_from_database_here" />
请检查Data_URI_scheme以及如何显示图像以获取更多详细信息。

于 2013-01-16T10:25:49.397 回答