我有一个脚本使用jQuery通过AJAX将数据发送到PHP脚本,该脚本使用该数据创建动态JPG图像. PHP脚本使用PHP头图像/ jpeg命令将二进制图像数据作为输出返回(到目前为止一直很好).
现在我想在客户端显示该图像,但我还没有找到适合的解决方案.读了一下我明白了一个可能的解决方案是让PHP脚本在base64中编码它并将字符串作为数据URI返回给客户端.但是,该解决方案是不够的,因为它不支持IE< 8并且仍然限于IE 8中的32K图像. 目前,我正在将图像写入服务器上的临时目录并将文件名返回给客户端.但是,必须有另一种方法来更优雅地解决这个问题.关于如何使用jQuery / JavaScript在浏览器中显示返回的二进制图像数据的任何建议?
谢谢!
解决方法:
根据我的评论,这就是我的想法.这可能是一个解决方案,但肯定取决于您的代码.
你可以动态创建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('<img src="imagecreator.PHP?param=' + $('input').val() + '" />');
});
});