Imagepath替换文档目录

时间:2016-02-09 09:21:27

标签: ios objective-c iphone nsfilemanager nsdocumentdirectory

使用NSFileManager时,如果存在图像路径或文件夹,如何替换文档目录中的新图像路径(或)文件夹。

NSFileManager中是否有替换功能? (如何用文档目录中的新图像路径替换图像路径位置)

3 个答案:

答案 0 :(得分:1)

你想要写一个图像,只需将其写入文件即可。 如果同一路径中存在同名图像,将覆盖

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;

UIImage * imageToSave = [UIImage imageNamed:@"Icon.png"];
NSData * binaryImageData = UIImagePNGRepresentation(imageToSave);

[binaryImageData writeToFile:[basePath  stringByAppendingPathComponent:@"myfile.png"] atomically:YES];

答案 1 :(得分:1)

您无法使用NSFileManager替换路径,因为您已经保存了ImagePath。现在您可以检查该路径是否存在,然后您可以使用以下命令删除该文件路径:

if ([fileManager fileExistsAtPath:Path] == YES) {
  [fileManager removeItemAtPath:Path error:&error];
}

现在保存新路径。

如果您要替换内容,请先删除,然后再使用

重新编写
writeToFile:filePath

答案 2 :(得分:0)

    NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString* foofile = [documentsPath stringByAppendingPathComponent:filename];
    BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:foofile];
    NSLog(fileExists ? @"Yes" : @"No");
    if (fileExists == YES)
    {
        NSString *filePath = [NSString stringWithFormat:@"%@/%@", aDocumentsDirectory,filename];
        NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(image)];
        [data1 writeToFile:filePath atomically:YES];
    }