我的问题是无法在从数据库中检索图像后正确编码图像,否则我的所有工作都没问题。在我获取图像后,我设法使用“header('content-type:image / jpeg')”在同一个php文件中显示它。
<?php
header('content-type: image/jpeg');
if($_SERVER['REQUEST_METHOD']=='GET'){
$id = $_GET['id'];
$sql = "select image from images order by id desc limit 1";
require_once('connection.php');
$r = mysqli_query($con,$sql);
$result = mysqli_fetch_array($r);
echo base64_decode($result['image']);
mysqli_close($con);
}else{
echo "Error";
}
?>
上一段代码是直接显示的,但仅供测试,我需要将它用作JSON源,所以我用这种方式修改它:
header('Content-type: application/json');
.
.
.
$r['a'] = base64_encode( $result['image']);
echo json_encode($r);
对于Jquery和Ajax部分也工作正常,我通过制作另一个json文件测试它,并通过该网站https://www.base64-image.de/专业地编码图像。
这是Jquery代码:
$(document).ready(function(){
(function()
{
d='';
var poll=function()
{
$.ajax({
url: "getjson.php",
type :"get",
dataType: "JSON",
success: function(json)
{
d +='data:image/jpeg;base64,';
d +=json.a;
$("#myimg2").attr("src",d);
}
})
};
poll();
setInterval(function(){
poll();
}, 2000);
})();
});
我现在需要的是对图像进行编码,就像本网站的https://www.base64-image.de/一样,因为这条线base64_encode( $result['image'])
似乎还不够,我尝试了很多在线提供的解决方案,但没有人为我工作!