我们有一个IOS应用程序,它将图像发送到asp.net Web API应用程序。因此,我们将图像转换为Base64,然后将其作为字符串发送到Web服务。
问题在于图像的大小很大,因此到base64的转换要花费大量时间,并且结果字符串的大小大于初始图像的大小。
我需要知道 :
我曾经Gzip
像这样压缩/解压缩字节数组:
static byte[] Compress(byte[] data)
{
using (var compressedStream = new MemoryStream())
using (var zipStream = new GZipStream(compressedStream, CompressionMode.Compress))
{
zipStream.Write(data, 0, data.Length);
zipStream.Close();
return compressedStream.ToArray();
}
}
是否有可能将图像转换为IOS部分中的字节数组,然后调用Web服务?还是公开一个像compressedStream
或GZipStream
作为服务参数的对象?
谢谢,
可以将图像转换为字节数组,这是一个SO答案,它涉及到:如何在ios中将字节数组转换为图像
然而,最大的问题是:您实际上需要那么大的形象吗?您需要考虑到,一旦有多个用户这样做,该服务就会变慢,并且很有可能会停止运行,这将使您的应用难以使用/缓慢使用。
您可能需要考虑在发送图像之前缩小图像。您可以减小尺寸,减小质量并使其更小,然后通过导线发送结果。
这是与此相关的另一篇SO帖子:使用iPhone SDK调整/优化图像大小的最简单方法是什么?
当然,如果您使用xamarin和c#来构建您的应用程序,那么它甚至更加容易,并且您可以找到同时完成这两项工作的代码示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句