删除NSURL路径的内容

时间:2011-12-29 10:10:49

标签: iphone objective-c ios uiimagepickercontroller assets

我使用下面的代码保存从相机拍摄的照片

代码:

- (IBAction)saveImage:(id)sender {
    UIImage *viewImage = imageView.image;  // was taken from Camera
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];  
    // Request to save the image to camera roll  
    [library writeImageToSavedPhotosAlbum:[viewImage CGImage] orientation:(ALAssetOrientation)[viewImage imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){  
        if (error) {  
            NSLog(@"error");  
        } else {  
            NSLog(@"url %@", assetURL); 
            self.imgUrl = assetURL;
        }  
    }];  
    [library release];
}

这是NSLOG的日志

assets-library://asset/asset.JPG?id=2A72A3FF-1662-4979-8DD7-0F5721C49F81&ext=JPG

现在当我完成图像如何删除它?

我试过了:

 NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager removeItemAtPath:[self.imgUrl absoluteString]  error:NULL];

但它没有用 任何帮助都会很棒

提前谢谢

2 个答案:

答案 0 :(得分:2)

如果您不打算永久性地将图像保存到用户的照片库,为什么要在最初保存图像?

您应该将图像保存到应用程序的沙箱文件夹中,然后从那里删除它。

您无法从照片库中删除图像

答案 1 :(得分:1)

尝试使用NSURL路径。在删除文件路径之前,请检查文件是否存在于路径中。

NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager removeItemAtPath:[self.imgUrl path]  error:NULL];