我想在iOS设备相册中保存图像(从服务器下载),并将图像相册网址存储在本地数据库中。我的问题是,如何在保存图像后获取相册图片网址?
我可以使用以下ALAsset代码将图像保存在相册中:但是,我需要将此url图像存储在我的本地数据库中。所以下次,我不会从服务器下载相同的图像,我可以直接从设备相册加载。
[self.maAssetsLibrary saveImage:image
toAlbum:@"My-Album"
completion:completion
failure:nil];
请建议。
更新 我试过这个,但在保存图片后没有给我拿到相册图片网址。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// The completion block to be executed after image taking action process done
void (^completion)(NSURL *, NSError *) = ^(NSURL *assetURL, NSError *error) {
};
[self.maAssetsLibrary saveImage:image toAlbum:@"My-Album" completion:^(NSURL *assetURL, NSError *error){
if (error) {
NSLog(@"error");
} else {
NSLog(@"url %@", assetURL);
}
} failure:^(NSError *error) {
}];
});
答案 0 :(得分:0)
由于沙盒,你无法获得这样的网址。正如@Lord Zsolt在评论中提出的那样,您可以通过在应用程序的文件夹中保存图像来克服这个问题。在这种情况下,您可以例如给他们一个名称,作为识别每个图像的关键。
修改强>
正如@MidhunMP评论的那样,我错了!有一种方式(现在我很高兴知道),它来自Stack Overflow answer,由@CRDave在上面的评论中提供。
重点是使用ALAssetsLibrary
' writeImageToSavedPhotosAlbum:orientation:completionBlock:
方法。
学习总是很好。