我有一个将图像字节数据(.jpg
)发送到iOS设备的Web服务。 iOS设备将该数据保存到它所在的.jpg
,一旦将其保存到本地文件系统,由于尝试在iOS上打开它时出现“损坏的文件”消息,该文件无法打开设备。此消息的细节无关紧要。
我是开发Web服务的.NET开发人员。我对Objective C一无所知 - 我们有另一个开发人员处理它。
问题:我需要知道的是iOS设备是否希望以某种方式对字节数据进行编码,是否必须是Base64字符串等。我不知道是什么惯例是通过字节数据将文件发送到iOS设备。任何帮助将不胜感激。
答案 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等)。