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