从.NET Web服务向iOS设备发送图像(.jpg)字节数据,然后在iOS设备上将其编码为各自的文件类型(.jpg)

时间:2013-08-15 20:21:17

标签: c# ios web-services encoding asmx

我有一个将图像字节数据(.jpg)发送到iOS设备的Web服务。 iOS设备将该数据保存到它所在的.jpg,一旦将其保存到本地文件系统,由于尝试在iOS上打开它时出现“损坏的文件”消息,该文件无法打开设备。此消息的细节无关紧要。

我是开发Web服务的.NET开发人员。我对Objective C一无所知 - 我们有另一个开发人员处理它。

问题:我需要知道的是iOS设备是否希望以某种方式对字节数据进行编码,是否必须是Base64字符串等。我不知道是什么惯例是通过字节数据将文件发送到iOS设备。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

去过那里,但是在iOS端。 我们为解决这个问题所做的是让.NET服务器将图像作为base64编码的字符串发送,就像你说的那样。

在iOS端,dev必须使用base64解码类(互联网上有很多,例如:http://www.imthi.com/wp-content/uploads/2010/08/base64.zip),将其转换为NSData,然后使用该数据创建图像。

应该是这样的:

NSString *b64string = @"string to decode";
NSData *imgData = [DecoderClass decodeBase64FromString:b64String];
UIImage *image = [UIImage imageWithData:imgData];

如果数据正确,它应该有效。 UIImage是一个高级类,只要数据一致,就应该自动处理图像类型(jpg,png等)。