将照片(和其他东西)写入磁盘并稍后在iphone中获取

时间:2010-03-16 08:49:48

标签: iphone image filesystems nsdata

我正在尝试将图像写入磁盘:

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsPath = [paths objectAtIndex:0];
    NSString* savePath = [documentsPath stringByAppendingPathComponent:@"photo"];
    BOOL result = [data writeToFile:savePath atomically:YES];
    if(result) NSLog(@"Save of photo success!");

然后,稍后,我尝试检索表视图单元格图像:

    NSData* getPhoto = [NSData dataWithContentsOfFile:[leaf content]];
    UIImage* myImage = [UIImage imageWithData:getPhoto];
    cell.imageView.image = myImage;

是的,我检查确保[leaf content]返回与savePath相同的NSString。还有什么可能是问题? [NSData dataWithContentsOfFile:[leaf content]];返回nil ....

编辑:我正在以这种方式制作我称之为writeToFile的原始数据:

NSData* dataToAdd = UIImageJPEGRepresentation(image, 1.0);

谢谢你们

1 个答案:

答案 0 :(得分:1)

您的新文件名可能不是有效的照片。

如果您有一个名为file的图片,那么您将写入路径filephoto,但我认为您想要的是filephoto.jpg ...也许您需要一个图像文件扩展名?

或许路径没有完全展开......即使它是相同的,也可能是你没有给dataWithContentsOfFile:一个绝对路径。

这些是我的猜测。