我如何将图像下载并保存到应用程序的根目录,所以基本上我可以通过
访问图像[UIImage imageNamed:@"myimage.jpg"];
由于
梅森
答案 0 :(得分:2)
首先,您需要获取图像数据
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://media03.linkedin.com/mpr/mpr/shrink_80_80/p/3/000/064/2e2/1bd3849.jpg"]];
然后您需要将数据写入Documents目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pathLD = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"imageLD%d.jpeg",[[NSDate date] timeIntervalSince1970]]];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath: pathLD]){
[imageData writeToFile:pathLD atomically:YES];
} else {
NSLog(@"File exists at path:%@", pathLD);
}
要从您执行的文档中获取图像:
[UIImage imageWithContentsOfFile:pathLD];
祝你好运:D;
答案 1 :(得分:0)
你不应该出于各种原因。将您的应用程序目录视为只读。
您应该使用Documents或Library目录。 Apple建议您使用Documents目录,如果您的文件可以通过iTunes用户访问(如果您已通过iTunes启用了文件共享),或者使用库的自定义子目录(需要使用NSFileManager创建),如果它不应该用户可见(但应该备份)。
您可以像这样查询Library目录的路径:
NSArray *paths;
paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,
NSUserDomainMask, YES);
// dir = [paths objectAtIndex:0];
用NSLibraryDirectory
替换NSDocumentsDirectory
以获取文档目录。
然后你会创建一个返回图像完整路径的方法,然后你会这样做:
[UIImage imageWithContentsOfFile:[self pathForImage:@"myimage.jpg"]]