存储下载图像的最佳方式是什么?从那里我应该可以在我的应用程序的任何地方使用它们,并且在任何情况下都不应该删除图像(比如空间不足)。请提供任何帮助。
问问题
655 次
2 回答
0
根据标准,App 相关文件(数据)只需要存储在文档目录中。一旦图像获得下载,该图像就存储在文档目录中,并为图像识别维护唯一的名称。
-(NSString *)writeDataAsFile:(NSData *)imageData
{
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * documentsDirectory = [paths objectAtIndex:0];
NSString * thumbNailFilename = [NSString stringWithFormat:@"%@.png",[self GetUUID]]; // Create unique iD
NSString * thumbNailAppFile = [documentsDirectory stringByAppendingPathComponent:thumbNailFilename];
if ([imageData writeToFile:thumbNailAppFile atomically:YES])
{
return thumbNailFilename;
}
return nil;
}
使用此方法将图像(下载的 NSData)存储在文档目录中。
像这样从文档目录中检索图像
UIImage *thumbnailHomeImage = [UIImage imageWithContentsOfFile:[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"%@",imageName]];
于 2013-07-03T09:06:04.590 回答
-1
看看这个图像缓存库。用过好几次了,真的好用
于 2013-07-03T08:56:37.040 回答