微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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);
    })....

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐