0

为什么将带有 exif 中位置数据的照片上传到服务器如此困难?我无法解决这个问题。每当我将照片发送到服务器时,它的所有位置信息都会从照片中删除。

我尝试使用两者从 UIImagePickerController 获取 UIImage

NSURL *url = [info objectForKey:UIImagePickerControllerReferenceURL];

还有 UIImagePickerControllerOriginalImage。

请有人帮助我

4

2 回答 2

1

要保留 exif 信息,您需要使用原始数据,而不仅仅是 UIImage。您可以从 ALAsset 的 defaultRepresentation 中获取它,如下所示:

ALAssetRepresentation* representation = [myAsset defaultRepresentation];
int size = representation.size;
NSMutableData* data = [[NSMutableData alloc]initWithCapacity:size];
void* buffer = [data mutableBytes];
[representation getBytes:buffer fromOffset:0 length:size error:nil];
data = [NSMutableData dataWithBytes:buffer length:size];

我现在不在 xcode 附近进行测试,但它应该可以工作。

于 2013-08-02T09:55:24.313 回答
0

您可以使用它CLLocation来获取当前位置。在将图像上传到服务器时,您需要通过获取当前位置CLLocationManager并将此位置参数更新到服务器与捕获的图像。

请查看参考链接以了解位置更新以及如何上传照片

于 2013-08-02T06:04:34.020 回答