ios – 从PHImageFileURLKey获取的URL读取

ios – 从PHImageFileURLKey获取的URL读取,第1张

概述适用于iOS 8的Photo Framework能够使用PH ImageFileURLKey返回图像的URL.但是,我似乎无法阅读此URL.我只需要读访问权限.到目前为止,我试图使用给定的URL的任何地方,它被视为文件根本不存在.如何使用URL获取数据? 成功返回PHAssets和URL的代码: PHFetchResult* phFetchResult = [PHAsset fetchAssets 适用于iOS 8的Photo Framework能够使用PH ImagefileURLKey返回图像的URL.但是,我似乎无法阅读此URL.我只需要读访问权限.到目前为止,我试图使用给定的URL的任何地方,它被视为文件根本不存在.如何使用URL获取数据?

成功返回PHAssets和URL的代码:

PHFetchResult* phFetchResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:nil]PHImageManager *manager = [PHImageManager defaultManager];PHImageRequestoptions* options = [[PHImageRequestoptions alloc] init];options.synchronous = YES; // Force sequential work. We have nothing to do until this block returns.PHAsset* asset = [phFetchResult objectAtIndex:index];[manager requestimageForAsset:asset targetSize:PHImageManagerMaximumSize contentMode:PHImageContentModeDefault options:options resultHandler:^(UIImage *resultimage,NSDictionary *info) {     _image = resultimage;     NSURL* fileURL = [info objectForKey:@"PHImagefileURLKey"];     _imageLocation = [fileURL relativePath]; }];

代码显示没有找到:

NSURL* fileURL = [info objectForKey:@"PHImagefileURLKey"];NSLog(@"file exist?: %d",[[NSfileManager defaultManager] fileExistsAtPath:[fileURL relativePath]]);

我目前的解决方法是获取给定的UIImage并将其保存到/ tmp目录,然后使用该URL.这不是一个理想的解决方案,我真的很想知道PHImagefileURLKey的目的

解决方法 我研究PHImagefileURLKey,我认为没有办法通过PHImagefileURLKey查找图像数据,但您可以使用资产本地标识符而不是PHImagefileURLKey来查找图像数据.

我的代码供您参考:

您可以使用资产的本地标识符,并将图像作为响应.

PHFetchResult *savedAssets = [PHAsset fetchAssetsWithLocalIDentifIErs:@[asset.localIDentifIEr] options:nil];    [savedAssets enumerateObjectsUsingBlock:^(PHAsset *asset,NSUInteger IDx,BOol *stop) {        //this gets called for every asset from its localIDentifIEr you saved        PHImageRequestoptions * imageRequestoptions = [[PHImageRequestoptions alloc] init];        imageRequestoptions.synchronous = YES;        imageRequestoptions.deliveryMode = PHImageRequestoptionsResizeModeFast;        [[PHImageManager defaultManager]requestimageForAsset:asset targetSize:CGSizeMake(50,50) contentMode:PHImageContentModeAspectFill options:imageRequestoptions resultHandler:^(UIImage * _Nullable result,NSDictionary * _Nullable info) {            NSLog(@"get image from result");        }];    }];
总结

以上是内存溢出为你收集整理的ios – 从PHImageFileURLKey获取的URL读取全部内容,希望文章能够帮你解决ios – 从PHImageFileURLKey获取的URL读取所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1024656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存