目前我在IOS应用程序和Java Web服务之间发送图像作为字符串 - 是否有更好的方法来执行此操作,如果是这样,它是什么方法 - 表示图像的字符串很大并且很难管理。 / p>
由于
答案 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这样的框架有助于提供发送和接收图像/二进制数据的便捷方式。