如何访问目录

时间:2018-04-11 18:41:25

标签: ios objective-c filesystems

我想将图片保存在文件夹中。我已经是代码了。下载并保存图像,但我想知道如何找到ma文件夹的路径! 我在xcode中创建了一个目录,但图像找不到它,并且没有图像。 所以,我想将图像保存在“img_bkgrd”文件夹中。 enter image description here

[UIImageJPEGRepresentation(image, 1.0) writeToFile:[directoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@", imageName]] options:NSAtomicWrite error:nil];

使用我使用此方法的图像:

-(UIImage *) loadImage:(NSString *)fileName inDirectory:(NSString *)directoryPath{
 UIImage * result = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@", directoryPath, fileName]];
 return result;

}

你能给我发正确的路吗? 感谢

1 个答案:

答案 0 :(得分:1)

您无法在那里保存图像。首先,这实际上不是一个文件夹。它被称为。它是应用程序包的一部分,只读。您需要将数据保存到Documents目录中。这样的事情:

NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *imageFolderPath = [documentsDirectory stringByAppendingPathComponent:@"/img_bckr"];

if (![[NSFileManager defaultManager] fileExistsAtPath:imageFolderPath])
     [[NSFileManager defaultManager] createDirectoryAtPath:imageFolderPath withIntermediateDirectories:NO attributes:nil error:&error];

NSString* imagePath = [imageFolderPath stringByAppendingPathComponent:@"MyImage"];

[UIImageJPEGRepresentation(image, 1.0) writeToFile:imagePath options:NSAtomicWrite error:nil];

您可以在某处存储imagePath或稍后根据文件名构建它,然后只需:

UIImage* img = [UIImage imageWithContentsOfFile:imagePath];