使用AFHTTP下载图像并将其保存到ALAsset

时间:2014-01-04 09:04:20

标签: ios alassetslibrary afhttpclient

有谁知道如何将图像保存到资源库?我知道将它保存到资产中,图像也可以在iPad的图库中找到。

我知道如何获取文件:

AFHTTPRequestOperation *requestOperation = [[AFHTTPRequestOperation alloc] initWithRequest:downloadRequest];

[requestOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

// How to make the filepath? 
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:filePath append:NO];
[operation.responseData writeToFile:filePath atomically:YES];
}

1 个答案:

答案 0 :(得分:0)

为了将图像写入资源库,您可以使用以下三种方法中的任何一种(在类ALAssetsLibrary中定义):

– writeImageToSavedPhotosAlbum:orientation:completionBlock:
– writeImageDataToSavedPhotosAlbum:metadata:completionBlock:
– writeImageToSavedPhotosAlbum:metadata:completionBlock:

这要求您的图片表示为UIImageCGImageRefNSData对象。

例如,您可以使用与临时文件关联的NSOutputStream来保存图像。然后,使用该文件创建并初始化UIImage,并使用上述方法将其写入资产库。

或者,将图像作为NSData对象加载(如果它非常适合内存),并再次使用上面的相应方法以及元信息。

另请参阅:ALAssetsLibrary Class Reference

修改

如果您想获得有关如何设置元数据参数的更多信息,您可能会发现此博客文章很有价值:Adding metadata to iOS images the easy way

如果您想在SO:Saving Geotag info with photo on iOS4.1

上添加Geolocations到图片元数据