MultiImagePicker中获取selectedAssets所有图片的路径
时间: 2023-04-04 18:02:06 浏览: 120
可以通过selectedAssets获取所有选中图片的PHAsset对象,然后通过PHImageManager的requestImageData方法获取图片的二进制数据,再将二进制数据转换为UIImage对象,最后通过UIImage对象获取图片的路径。具体实现可以参考以下代码:
NSMutableArray *imagePaths = [NSMutableArray array];
PHImageManager *manager = [PHImageManager defaultManager];
PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
options.synchronous = YES;
for (PHAsset *asset in selectedAssets) {
[manager requestImageDataForAsset:asset options:options resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info) {
UIImage *image = [UIImage imageWithData:imageData];
NSString *path = [self saveImage:image];
[imagePaths addObject:path];
}];
}
- (NSString *)saveImage:(UIImage *)image {
NSString *path = [NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpg", [[NSUUID UUID] UUIDString]]];
NSData *data = UIImageJPEGRepresentation(image, 1.);
[data writeToFile:path atomically:YES];
return path;
}