在IOS和Java之间发送图像

时间:2014-05-26 18:55:27

标签: java ios string web-services

目前我在IOS应用程序和Java Web服务之间发送图像作为字符串 - 是否有更好的方法来执行此操作,如果是这样,它是什么方法 - 表示图像的字符串很大并且很难管理。 / p>

由于

2 个答案:

答案 0 :(得分:0)

如果您正在使用的图像实现是可序列化的,请将其序列化。

答案 1 :(得分:-1)

我知道您目前正在使用BASE64编码的图像表示为字符串,对吗?

这种方法对于小型二进制文件/图像是合理的,并且例如在图像列表的情况下也避免对每个图像进行许多单独调用。

无论如何 - 一种正确的方法是使用POST或PUT请求以x-www-form-urlencoded请求的形式将图像发送到Java Web服务。这与您在典型上传表单中的操作类似。

看看这个答案中的例子: Send image to server as binary data

对于图像下载,您可以使用GET NSURLRequest(包括请求所需的标题,身份验证或其他信息),并将收到的NSData转换为图像。

[UIImage imageWithData:dataReceivedFromURLRequest];

或直接为这样的简单http请求创建NSData并将其转换为图像:

NSData *urlData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://my-web-service/image.png"]];

在服务器端,您可以使用JAX-RS创建映像REST端点。

请注意,像AFNetworking这样的框架有助于提供发送和接收图像/二进制数据的便捷方式。