【发布时间】:2016-04-08 12:20:02
【问题描述】:
我在输入流中获取图像并将其编码为 base64 并使用 JSON 将其发送到客户端 以下是代码sn-p。
服务器端:
JsonObject myObj = new JsonObject();
StringBuilder responseStrBuilder = new StringBuilder();
int ch =0; ;
sun.misc.BASE64Encoder encoder= new sun.misc.BASE64Encoder();
byte[] contents = new byte[5000000];
int bytesRead = 0;
String strFileContents;
while ((bytesRead = bin.read(contents)) != -1) {
responseStrBuilder.append(encoder.encode(contents).getBytes());
}
myObj.addProperty("1",responseStrBuilder.toString());
out.println(myObj.toString());
客户端ajax代码:
success: function(result)
{
if(result)
{
$('#dynamicCamping01').html('<img src='+result[Object.keys(result)[0]]+'/>');
$('#dynamicCampingDesc01').html("<h3>"+allData[0]+"</h3>");
}
else
{
alert("Something went wrong while retriving events");
}
在客户端获取数据但图像未显示。
【问题讨论】:
-
调试,第 1 步:如果你使用浏览器或命令行工具(如 wget 或 curl)直接访问你的 ajax URL,你会得到你期望的 json 吗?如果不是,则您有服务器端问题。如果是,则说明您遇到了客户端问题。
-
@JohnHascall 以 base64 格式获取客户端中的数据,但未显示静止图像这是我的 ajax 代码: - if (jqXHR.readyState == 4) { $('#dynamicCamping01'). html(' '); $('#dynamicCampingDesc01').html("
"+allData[0]+ "
"); }
标签: java json ajax base64 bufferedinputstream