将base64字符串作为图像发送到客户端

时间:2014-10-12 15:26:11

标签: image web-services rest playframework playframework-2.0

我设法将图像保存为我的数据库中的base64编码字符串,但我想知道tu如何以一种在客户端被解释为图像的方式提供base64字符串。

我创建了一个返回字符串的WS:

return ok(myBase64String).as("image/jpeg")

但图片无法在浏览器中显示。

如果我解码字符串然后发送字节数组显示图像,现在我不明白为什么我必须解码我已编码的图像才能在客户端显示它?

byte [] test =  Base64.decodeBase64(event.getPhoto());
                return ok(test).as("image/jpeg");

这有效,但为什么我必须解码我的基础64字符串??

谁有个主意? 谢谢!

1 个答案:

答案 0 :(得分:1)

如果您想使用Base64,则需要使用data uri scheme

<img src="data:image/png;<base64>" />

否则,您必须传递路径到二进制表示。这就是资产控制器所做的事情,将文件作为二进制文件提供。