簡體   English   中英

Javascript從Base64組裝圖像?

[英]Javascript assemble image from Base64?

您好我有一個圖像存儲在數據庫中,它看起來像這樣:

     iVBORw0KGgoAAAANSUhEUgAAAVEAAACsCAYAAADCDZ8x......

它的base64。 我有以下PHP代碼:

<?php

include_once "mysql_connect.php";
if(isset($_GET['id'])){
$id = mysql_real_escape_string($_GET['id']);
$query = mysql_query("SELECT * FROM `entree` WHERE `realID` = '$id'");

while($row = mysql_fetch_assoc($query)){
    $imageData = $row[6];
    $imageType = $row[3];
    $imageData = base64_decode($imageData);
}

if($imageType == "image/png"){
    header("content-type: image/png");
}else if($imageType == "image/jpeg"){
    header("content-type: image/jpeg");
}else{}

if(!($imageData == null)){
echo $imageData;
}else{
    echo $imageData;

}


}else{

}



?>

這是HTML / PHP:

$SRC ="generateThumbnail64.php?id=$realid"; 

echo "<div id = \"feature0\" align=\"left\" >
<a href=\"".$url."\"><img src=\"$SRC\" alt = \"article thumbnail\" id=\"titleImg\"/></a>
<div id = \"feature2_1\">
  <a href= \"$url\" id = \"titletext\" alt = \"article title\">$donetitle</a>
  <div id = \"feature2_2\">
  <p id=\"resultuser\" >$username1 <b style=\"color:black;font-style:normal;\">&nbsp;&nbsp;&#x25cf;&nbsp;&nbsp;".$finviews." views</b></p>
  <p id=\"resultp2\">$donedesc1</p>
  </div>
  </div>
 </div>";

應該將bae64重組為一個映像,但事實並非如此。 為什么不起作用? 回顯的結果用作圖像中的SRC值。 如果重要的話,Base64以長文本類型的值存儲在數據庫中。 我該如何運作?

告訴瀏覽器您正在使用data-uri。 您使用data-uri的方式是data:[<MIME-type>][;charset=<encoding>][;base64],<data>

您不需要使用字符集,因此圖像src應該是data:image/<image_encoding>;base64,<base_64_encoded_data>

請注意分號和逗號。 忽略尖括號。 它們只是為了使事情變得更清楚,而不是在代碼中使用。

順便說一句,這不是很棒的代碼,但是足夠好。 它容易受到XSS的攻擊。

if(isset($_GET['id'])){
$id = mysql_real_escape_string($_GET['id']);
$query = mysql_query("SELECT * FROM `entree` WHERE `realID` = '$id'");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM