从JSON对象中的字节数组获取图像到android应用程序
我的情况如下: 我的服务器上运行了一个RESTful WCF服务,该服务旨在从数据库中获取关于人的各种类型的数据,并将这些数据作为单个JSON对象提供。它工作得很好 [编辑]还有另一项服务在服务器上的文件系统中维护图像缓存。当一个请求被发送到RESTful服务时,该服务就会从映像服务请求一个映像。如果图像已经在缓存中(与请求的宽度、高度和人员相同),它将返回该图像(作为字节数组)。我们必须使用此服务来检索图像 现在我想要的是那个人的形象。在我们的数据库中,图像是长原始图像(ew)。然而,我已经处理了这个问题(上一段)。图像现在是一个字节数组。我对安卓相当陌生,我不确定检索这张图片的最佳方式是什么。我想我可以做的是将字节数组添加到JSON对象中,然后使用base64解码器将其转换为可绘制图像。但是,每次我尝试时,它都会超时,并告诉我它期望JSON对象的字符缓冲区的某个任意索引处出现“,”或“]” 我已经能够毫无问题地从JSON对象中提取少量数据,但是现在有了一个巨大的字节数组,JSONObject讨厌我。从我的服务中获取此图像的更好方法是什么从JSON对象中的字节数组获取图像到android应用程序,android,wcf,json,Android,Wcf,Json,我的情况如下: 我的服务器上运行了一个RESTful WCF服务,该服务旨在从数据库中获取关于人的各种类型的数据,并将这些数据作为单个JSON对象提供。它工作得很好 [编辑]还有另一项服务在服务器上的文件系统中维护图像缓存。当一个请求被发送到RESTful服务时,该服务就会从映像服务请求一个映像。如果图像已经在缓存中(与请求的宽度、高度和人员相同),它将返回该图像(作为字节数组)。我们必须使用此服务来检索图像 现在我想要的是那个人的形象。在我们的数据库中,图像是长原始图像(ew)。然而,我已经处
{
...
image_url:<url from database>
...
}
{
...
图片地址:
...
}
当客户端收到此消息时,它将调用该URL并下载图像
您的客户机将不得不单独调用以检索图像,但这通常比用二进制数据填充数据库要好。如果您想快速显示数据,同时允许在后台下载图像,这也会对您有利。这种返回流(从)的方式比使用Base64编码更好
我不完全是这个意思,我试图再澄清一点。检查我的编辑。我相信这就是我要找的。
[OperationContract, WebGet]
public Stream GetTestImage(Image image)
{
MemoryStream stream = new MemoryStream();
image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
stream.Position = 0;
WebOperationContext.Current.OutgoingResponse.ContentType = "image/jpeg";
return stream;
}