PHP GD创建的Ajax和返回图像
作者:互联网
我有一个PHP脚本,可使用PHP GD生成图像.生成图像后,将其保存,并在被Ajax调用时发送以下输出:
imagejpeg($img_data, 'filename.jpg');
echo '<img src="/filename.jpg.jpg">';
之后,图像显示在页面上,一切都很好.但是,我不想每次都创建图像.有什么方法可以通过Ajax仅返回$raw_data字符串并显示图像吗?我这样尝试过:
echo $img_data;
但是没有运气,返回的只是几笔?.
这是我的jQuery Ajax代码:
$.ajax({
type: 'POST',
data: {
action: 'update_image',
//some instructions for creating the image
},
url: 'script.php',
success: function(msg) {
$('#somediv').append(msg);
}
});
解决方法:
base64对图像进行编码并返回,然后您可以执行< img src =“ data:image / png; base64,iVBORw0KGgoAAAANSUhEUgAAADIA .......” />
在PHP方面
$image = base64_encode($imageGDRender);
echo json_encode(array('image'=>$image));
那将把你的json返回到你的jquery
然后在ajax方面
$.ajax({
...
success: function(data) {
var base64Image = data.image;
...now put it in your image
$('#image').attr('src','data:image...'+base64Image);
})....
标签:php,jquery,ajax,php-gd 来源: https://codeday.me/bug/20191011/1893449.html