1
我需要知道图像是否已经在iOS图库中。我正在开发一个消息客户端应用程序,并且在我的聊天列表中,当我点击图像缩略图时,我可以下载传入消息的图像/视频。检查图像是否已经在图库中并检索它
问题是,当我点击缩略图时,我下载并将该图像保存到iOS照片库中,但如果再次点击我不想再次下载并保存,我想从中检索它照片库。
恢复,我想在照片库中寻找图像并找回它。
这里是我的代码将图像保存在我的自定义相册使用ALAssetsLibrary:
[self writeImageToSavedPhotosAlbum:image.CGImage orientation:(ALAssetOrientation)image.imageOrientation completionBlock:
^(NSURL* assetURL, NSError* error)
{
if (error!=nil) {
completionBlock(error);
return;
}
//add the asset to the custom photo album
[self addAssetURL: assetURL
toAlbum:albumName
withCompletionBlock:completionBlock];
}
];
-(void)addAssetURL:(NSURL*)assetURL toAlbum:(NSString*)albumName withCompletionBlock:(SaveImageCompletion)completionBlock
{
__block BOOL albumWasFound = NO;
[self enumerateGroupsWithTypes:ALAssetsGroupAlbum
usingBlock:
^(ALAssetsGroup *group, BOOL *stop)
{
if ([albumName compare: [group valueForProperty:ALAssetsGroupPropertyName]]==NSOrderedSame) {
albumWasFound = YES;
[self assetForURL: assetURL
resultBlock:
^(ALAsset *asset)
{
//add photo to the target album
[group addAsset: asset];
completionBlock(nil);
} failureBlock: completionBlock
];
return;
}
if (group==nil && albumWasFound==NO) {
//Target album does not exist, create it
__weak ALAssetsLibrary* weakSelf = self;
[self addAssetsGroupAlbumWithName:albumName
resultBlock:
^(ALAssetsGroup *group)
{
[weakSelf assetForURL: assetURL
resultBlock:
^(ALAsset *asset)
{
//add photo to the newly created album
[group addAsset: asset];
completionBlock(nil);
} failureBlock: completionBlock
];
} failureBlock: completionBlock
];
return;
}
} failureBlock: completionBlock
];
}
与assetURL我能做到这一点
也许吧,但我苹果的文档中一直在寻找,我没有看到任何东西。
谢谢!
检查文件名是最简单的吗? – CW0007007
我在保存时如何获取文件名?我下载的是一个NSData,我将它转换为UIImage并将其保存在我的自定义相册中...我没有图像的特定名称 – kemmitorz