我试图找到一个带有路径的文件,然后使用NSFileManager类将其删除。[info objectForKey:UIImagePickerControllerMediaURL]确实返回了一个字符串,所以我不明白为什么它在一个有效的参数上失败。
NSError *error;
NSFileManager *manager = [NSFileManager defaultManager];
NSURL *url = [[NSURL alloc] initWithString:[info
objectForKey:UIImagePickerControllerMediaURL]];
if ([manager isDeletableFileAtPath: [info
objectForKey:UIImagePickerControllerMediaURL]]) {
BOOL success = [manager removeItemAtURL:url error:&error];
if (!success) {
NSLog(@"Error removing file at path: %@", error.localizedDescription);
}
}我得到了这个错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException'
, reason: '-[NSURL length]: unrecognized selector sent to instance 0x175ede10'发布于 2013-11-01 18:17:58
文档中提到了UIImagePickerControllerMediaURL
指定电影的文件系统URL。此键的值是一个NSURL对象。
您的错误消息也是这样说的:
因此
NSError *error;
NSFileManager *manager = [NSFileManager defaultManager];
NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL];
if ([manager isDeletableFileAtPath:url]) {
BOOL success = [manager removeItemAtURL:url error:&error];
if (!success) {
NSLog(@"Error removing file at path:%@", error.localizedDescription);
}
}发布于 2015-01-15 21:34:21
可能会对你有帮助。
尝尝这个
NSString *urlStr =[NSString stringWithFormat:@"%@", [info
objectForKey:UIImagePickerControllerMediaURL]];
NSURL *url = [[NSURL alloc] URLWithString:urlStr];而不是直接分配URL
NSURL *url = [[NSURL alloc] initWithString:[info
objectForKey:UIImagePickerControllerMediaURL]];发布于 2013-11-01 17:36:07
基本上你得不到字典中的URL字符串,因为[info objectForKey:UIImagePickerControllerMediaURL]不提供所选图片的url。
纪录片上说:
拾取项目的原始版本的资源库URL。在用户编辑所拾取的项目之后-例如,通过裁剪图像或裁切影片- URL继续指向所拾取项目的原始版本。
但是你可以像这样得到UIImage格式的图片:
UIImage *image = info[UIImagePickerControllerOriginalImage];https://stackoverflow.com/questions/19724028
复制相似问题