【问题标题】:Upload Photo to server including location information (Lat/Long)将照片上传到服务器,包括位置信息(纬度/经度)
【发布时间】:2013-08-02 05:51:17
【问题描述】:

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

我已尝试同时使用 UIImagePickerController 从 UIImagePickerController 获取 UIImage

NSURL *url = [info objectForKey:UIImagePickerControllerReferenceURL];

还有 UIImagePickerControllerOriginalImage。

请有人帮助我

【问题讨论】:

    标签: ios geolocation uiimage uiimagepickercontroller photo-upload


    【解决方案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 附近测试它,但它应该可以工作。

    【讨论】:

    • 你我的救命恩人......谢谢你......你让我朝着正确的方向前进。我会尽快将代码粘贴在这里以供参考..
    【解决方案2】:

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

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

    【讨论】:

    • 阿米特,我不想那样做。我有从照片中获取位置信息的服务器代码。所以我需要能够上传一张包含位置信息的照片。
    • 你好 shyamsundar,我认为没有脚本或代码可以让我们从图像中获取位置。我在我最近上传的应用程序中做了同样的事情。
    • 老兄。您需要使用 ALAssets 库来获取信息……我很快就会发布代码。你可以看看它。可能你想在你的应用中尝试这个...
    猜你喜欢
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多