将照片上传到服务器,包括位置信息(Lat / Long)

时间:2013-08-02 05:51:18

标签: ios geolocation uiimage uiimagepickercontroller photo-upload

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

我尝试使用两者

从UIImagePickerController获取UIImage
NSURL *url = [info objectForKey:UIImagePickerControllerReferenceURL];

以及UIImagePickerControllerOriginalImage。

请有人帮助我

2 个答案:

答案 0 :(得分: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来测试它,但它应该可以工作。

答案 1 :(得分:0)

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

请查看reference link for location update and how to upload photos