我的数据库中有一个中等blob数据类型,它存储的是gif,jpg,png,bmp类型的图片。
我正在开发一个JSF Web项目,我可以毫无问题地检索blob。
我正在尝试从我的数据库中检索blob数据并尝试将其插入到打开的图形图像中,这是我的Facebook共享功能。
<meta property="og:image" content="blob from db image here"/>
但我迷路了,我不知道该怎么做,我不认为使用javascript将blob转换为base64数据也是可能的。
任何人都可以指出我正确的方向吗?
已更新
我认为将blob转换为base64数据似乎是可能的。
这就是我所做的:
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script>
var base64;
base64 = '#{testController.RenderLogo(item.logo)}';
$('head').append('<meta property="og:image" content="data:image/png;base64,'+base64+'"/>');
</script>
</h:head>
RenderLogo方法:
public String RenderLogo(byte[] rawLogo) {
String base64String = Base64.encodeBase64String(rawLogo);
return base64String;
}
它适用于像ShareThis这样的共享网站,但是当通过脸书或推特分享时它会给我一个414 Request-URI Too Large
有什么建议吗? :C
顺便说一句,我正在使用ShareThis通过facebook / twitter分享。