【问题标题】:Loading image from url ios 8 objective c从 url ios 8 目标 c 加载图像
【发布时间】:2016-03-04 01:41:17
【问题描述】:

我正在尝试从此 url[@"file:///var/mobile/Media/DCIM/100APPLE/IMG_0158.JPG"] 获取图像,但我不能。 总是为零。

这是我的代码:

NSData *data = [NSData dataWithContentsOfURL: @"file:///var/mobile/Media/DCIM/100APPLE/IMG_0158.JPG"];
UIImage *image = [UIImage imageWithData:data];
self.pruebaTmp.image = image;

我使用此代码获取网址:

    if (asset) {
        // get photo info from this asset
        PHImageRequestOptions * imageRequestOptions = [[PHImageRequestOptions alloc] init];
        imageRequestOptions.synchronous = YES;

        [[PHImageManager defaultManager]
         requestImageDataForAsset:asset
         options:imageRequestOptions
         resultHandler:^(NSData *imageData, NSString *dataUTI,
                         UIImageOrientation orientation,
                         NSDictionary *info)
         {
            NSURL *path = [info objectForKey:@"PHImageFileURLKey"];
             //asignamos el path de la imágen seleccionada en galeria
            self.pathImagen = path;
         }];


    }

如果有人可以提供帮助,我将不胜感激,因为我无法使用获得的 url 加载图像。

【问题讨论】:

  • 我想你没有访问该路径的权限,如果它甚至存在的话。
  • 首先感谢您回答我。我怎样才能获得许可?
  • 我会验证这是问题所在。您可以使用NSFileManager 尝试列出文件夹的内容。注意错误参数。一旦你验证了它,放弃。没有办法为此类事情请求权限。无论如何,你是从哪里得到这条路的?
  • 我正在尝试从图库中获取照片的 url,然后保存 url 以便稍后再次打开照片。此时,我正在尝试打开网址。
  • 好的。您需要通过照片库 API 才能访问照片。您不能通过文件系统直接访问它们。

标签: objective-c url ios8 photo


【解决方案1】:

您不能不从该网址获取 UIimage 或元数据。 您可以从本地访问标识符获取 UIImage

PHFetchResult *savedAssets = [PHAsset fetchAssetsWithLocalIdentifiers:@[localIdentifier] options:nil];

[savedAssets enumerateObjectsUsingBlock:^(PHAsset *asset, NSUInteger idx, BOOL *stop) {

    //this gets called for every asset from its localIdentifier you saved
    //PHImageRequestOptionsDeliveryModeHighQualityFormat
    PHImageRequestOptions * imageRequestOptions = [[PHImageRequestOptions alloc] init];
    imageRequestOptions.synchronous = NO;
    imageRequestOptions.deliveryMode = PHImageRequestOptionsResizeModeFast;
    imageRequestOptions.resizeMode = PHImageRequestOptionsResizeModeFast;
    [[PHImageManager defaultManager]requestImageForAsset:asset targetSize:PHImageManagerMaximumSize contentMode:PHImageContentModeAspectFill options:imageRequestOptions resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
        NSLog(@"get image from result");
        if (result) {          

        }

    }];
    imageRequestOptions = nil;
}];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 2015-10-24
    相关资源
    最近更新 更多