0

データベースから画像を取得し、base64 を使用してエンコードして json に保存する php コードがあります。

$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);

これで、この画像をデコードして div 要素に表示する必要がある html ファイルができました。画像をデコードする方法がわかりません。

$(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 に直接保存することはお勧めできません。私がお勧めする方法の 1 つは、画像をサーバーの特定の場所に直接保存してから、画像へのパスをデータベースに挿入することです。この方法を使用すると、多くの手間を省くことができます。:) ところで、なぜ画像を 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 を想定) 。詳細については、 Data_URI_scheme
<img src="data:image/png;base64,input_your_base64_from_database_here" />
と画像の表示方法を 確認してください。

于 2013-01-16T10:25:49.397 に答える