我有一个 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);
})....
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)