将图像保存在iOS相册(我的文件夹)中并存储图像网址

时间:2015-03-12 09:12:18

标签: ios objective-c

我想在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) {

    }];

});

1 个答案:

答案 0 :(得分:0)

由于沙盒,你无法获得这样的网址。正如@Lord Zsolt在评论中提出的那样,您可以通过在应用程序的文件夹中保存图像来克服这个问题。在这种情况下,您可以例如给他们一个名称,作为识别每个图像的关键。

修改

正如@MidhunMP评论的那样,我错了!有一种方式(现在我很高兴知道),它来自Stack Overflow answer,由@CRDave在上面的评论中提供。

重点是使用ALAssetsLibrary' writeImageToSavedPhotosAlbum:orientation:completionBlock:方法。

学习总是很好。