如何使用Java服务器中的JSON将图像发送到Javascript客户端

时间:2012-07-03 00:09:20

标签: java json google-api signpost

我正在使用Google Contacts API,我收到所有数据并以字符串形式发送到JSON(javascript)但是当我从联系人处获取图像时,我可以收到图像。如何将其发送给JSON?如何将图像文件发送到URL? (我可以使用路标吗?)

if (photoLink.getEtag() != null) {
 GDataRequest request = myService.createLinkQueryRequest(photoLink);
 request.execute();                                                                                    
 // No Authentication header information  
 InputStream stream = request.getResponseStream();    
 Image image=  ImageIO.read(stream);
 }

2 个答案:

答案 0 :(得分:1)

如果您尝试使用JSON发送编码为数据的实际图像,则只需发送包含编码图像数据的img属性的HTML src标记,如下所示:

<img src="data:image/png;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7">

浏览器支持列表(包括Android浏览器和iOS Safari:

http://en.wikipedia.org/wiki/Data_URI_scheme#Web_browser_support

答案 1 :(得分:0)

您应该只使用servlet发送图像,只需在JSON中发送一些url变量。 (如?pic_id=034enifuwbf0329

可能使用内联图片,但在某些IE版本上会失败,而另一个解决方案与浏览器无关。