2 dear15214 dear15214 于 2016.05.03 11:26 提问

PHAsset真机上获取到PHImageFileURLKey,但是根据这个路径获取不到图片大小

NSURL *fileURL = [photoData objectForKey:@"PHImageFileURLKey"];
这句话获取到的图片URL:(图片路径如下)

Printing description of fileURL:
file:///var/mobile/Media/DCIM/100APPLE/IMG_0114.JPG

但是根据url没有获取到图片大小
data=[NSData dataWithContentsOfURL:fileURL];
data的值是nil ,有哪位大神知道是怎么回事吗?

有很小一部分图能获取的大小 ,多数图是获取不到大小的 都显示的是nil 搞不懂怎么回事

8个回答

oyljerry
oyljerry   Ds   Rxr 2016.05.03 11:28

你会查看返回的错误信息,会是没有权限等,这个路径你程序不能直接访问,你应该还是通过Photo Framework去获取图片的NSData,然后再显示

dear15214
dear15214 权限是获取到的,获取图片原图大小不就是根据图片URL来的吗?在模拟器上是可以得到data的,真机上就是不行
一年多之前 回复
qq_35824846
qq_35824846   2017.03.10 13:48

我现在也遇到这个问题了, 请问怎么解决的

u012688089
u012688089   2017.04.25 16:40

我获取视频时 也出现了这个问题 根据路径不能获取到大小 解决了吗

dear15214
dear15214   2017.04.27 14:29

id photoData=[assets objectAtIndex:i];
[[PHImageManager defaultManager] requestImageDataForAsset:photoData options:nil resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info) {
data = [NSData dataWithData:imageData];

}];
这个方法可以取到大小

CSUCFL
CSUCFL   2017.05.02 17:57

API用错了,你该用 dataWithContentsOfFile这个,注意看名字
带file前缀的URL,用带file的API
绝对路径的用 dataWithContentsOfURL

u012563404
u012563404 你这个方法并不可行
7 个月之前 回复
u012563404
u012563404   2017.05.20 17:19

楼主,你这个问题解决了没? 能不能讲一下解决方案?

u010971348
u010971348 回复dear风会停息: 这样子直接拿的话,内存会飙升,视频只有几十M甚至十几M,使用内存都会飙升到400多M,,,,,,,适当的做法应该是把图片或者视频拷贝到沙盒中,再用沙盒路径拿data,用完就删
7 个月之前 回复
u012563404
u012563404 回复dear风会停息: 这个image 是可以取到的,但是通过PHImageFileURLKey拿到的路径,通过这个路径却取不到这个图片,这是为何呢?
7 个月之前 回复
dear15214
dear15214 image你能取到吗?取到的话就用[[PHImageManager defaultManager] requestImageDataForAsset:photoData options:nil resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info) { data = [NSData dataWithData:imageData]; }];这个方法取大小
7 个月之前 回复
qq_27799269
qq_27799269   2017.05.29 14:07

我想请问下 如何获取/var/mobile/Media/DCIM下的文件吗

zp511253886
zp511253886   2017.06.14 17:25

请问楼主解决了吗? 我也遇到了这个问题

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!