使用jQuery/javascript显示服务器创建的图像

Sal*_*ela 4 javascript ajax jquery image server-side

我有一个脚本使用jQuery通过AJAX将数据发送到PHP脚本,该脚本使用该数据创建动态JPG图像.PHP脚本使用PHP头图像/ jpeg命令将二进制图像数据作为输出返回(到目前为止一直很好).

现在我想在客户端显示该图像,但我还没有找到适合的解决方案.读了一下我明白了一个可能的解决方案是让PHP脚本在base64中编码它并将字符串作为数据URI返回给客户端.但是,该解决方案是不够的,因为它不受IE <8支持,并且仍然限于IE 8中的32K图像.

目前,我正在将图像写入服务器上的临时目录并将文件名返回给客户端.但是,必须有另一种方法来更优雅地解决这个问题.关于如何使用jQuery/JavaScript在浏览器中显示返回的二进制图像数据的任何建议?

谢谢!

feh*_*ays 6

根据我的评论,这就是我的想法.这可能是一个解决方案,但肯定取决于您的代码.

你可以动态创建img标签并将url参数传递给你的php脚本,而不是做一个ajax帖子.下面的代码只写出了img标签的样子,因为我实际上并没有这样做的PHP脚本.

这是一个小提琴:http://jsfiddle.net/fehays/954zK/

img script param: <input type="text" /><br />
<button>click</button><br />
<div id="imgText"></div>

$(function() {
    $('button').click(function() {         
        $('#imgText').html('&lt;img src="imagecreator.php?param=' + $('input').val() + '" /&gt;');
    });
});
Run Code Online (Sandbox Code Playgroud)