通过ajax从PHP发送二进制图像数据?

时间:2013-09-18 17:50:10

标签: php ajax image

假设我在PHP中完成了以下操作:

$image = imagecreatefromjpeg('myImage.jpg);

是否有办法将$image的图像数据转换为可以在我的AJAX响应中发送的字符串?

2 个答案:

答案 0 :(得分:2)

这样的东西应该可以从图像中获取base64编码的字符串:

<?php
$image = imagecreatefromjpeg('myImage.jpg');
ob_start();
imagejpeg($image);
$imagestring = ob_get_contents();
ob_end_clean();
$encoded = base64_encode($imagestring);
?>
<pre><?php echo $encoded ?></pre>
<img src="data://image/jpeg;base64,<?php echo $encoded ?>" alt="myImage" />

这将输出base64编码的图像作为字符串,并使用该编码的字符串显示图像。

答案 1 :(得分:0)

使用base64或其他一些二进制&gt;文本编码方案,并将其与ajax中的数据一起传递,并在客户端进行解码。

PHP有base64函数,请参阅http://php.net/manual/en/function.base64-encode.php