寻找一个简单的http响应与图像编码在base64

时间:2012-09-20 07:12:25

标签: image http base64

我正在使用basic4android,并试图创建一个简单的网络服务器。一切都很好但不知何故我没有设法发送图像作为二进制文件。我发现了问题,现在一切正常,但与此同时我绝望,并认为我可以发送二进制文件作为base64中的文本编码。我仍然忙于这个想法,但无法找到适当的信息,如何使用base64编码的图像有效的http响应。

我想它应该看起来像这样:

HTTP/1.1 200 OK
Content-Type: image/jpeg
Content-Length: lengthofthefollowingdata

dataofimagecodedinbase64

有人可以发布一个合适的工作示例吗?

标准浏览器是否接受以base64编码的图像?

2 个答案:

答案 0 :(得分:1)

HTTP响应中没有base64编码。 可能(但无用)将其定义为新的传输编码或内容编码。

答案 1 :(得分:0)

让我们以$ base64string var作为示例加载它和image文件:

$base64string = base64_encode(file_get_contents("image.jpg"));

首先你要做的是通过这个php代码设置内容类型:

header("Content-Type: image/jpeg") //if your data is format jpeg

如果您的数据存储为base64,则必须通过以下代码对其进行解码:

$decoded_data = base64_decode($base64string);

然后您所要做的就是通过回声写入解码数据。

echo $decoded_data;

可选:如果你想在HTML或CSS中插入图像,你不必解码base64字符串......例如:

HTML IMG TAG:

<img src="data:image/jpeg;base64,<?php echo $base64string; ?>" alt="image" />

CSS INLINE BACKGROUND PROPERTY:

style="background: url('data:image/jpeg;base64,<?php echo $base64string; ?>';"