使用RESTFUL WCF将图像发送到Android应用



我有一个安息的WCF服务。我必须将图像从服务发送到Android应用。出于安全原因,我无法使用或提供直接的图像下载图像。图像尺寸小于2MB。我正在使用bytearray将WCF服务的图像发送到JSON中的Android App,AS

<OperationContract()> _
<WebGet(UriTemplate:="/GetFile", ResponseFormat:=WebMessageFormat.Json, RequestFormat:=WebMessageFormat.Json)> _
Function GetFile(Byval Token as String) As Byte()

getfile函数将图像返回bytearray。当我经历了许多网站时,我感到困惑。

是转换为 base64string 的字节阵列。如果是,则Android客户端收到的图像的尺寸将高约30%。

我的问题是

在不增加数据大小的情况下,将图像(小于2MB)发送到Android应用的最佳方法是什么。(没有任何基本64或任何转换)?

stream的方式发送图像而不是bytearray会为服务器创建开销和高内存使用?

bytearray不是很好的做法。序列化的bytearray太慢。为了解决这个问题,建议将bytearray转换为base64string。但是,如果您不想增加大小,则可以流式传输图像。发送流没有开销,但您不能用流的其他任何内容序列。在您的情况下可以。

相关内容

最新更新