[英]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;\"> ● ".$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.