在我的应用程序中,用户可以使用UIImagePickerController录制视频,我需要将其保存到磁盘供以后使用。我已经从信息词典中找到了路径并且我要将它保存到我的文档目录中,但我遇到的问题是在字典中传递的URL就是 - URL而不是文件路径。当我使用absoluteString将其转换为字符串并将其作为源文件管理器的源路径传递时,它无法说明找不到源文件。
Old Path:file://localhost/private/var/mobile/Applications/77B4D2B8-DE12-4643-82F0-2ECC948E4DBC/tmp/capture/capturedvideo.MOV
新路径:/var/mobile/Applications/77B4D2B8-DE12-4643-82F0-2ECC948E4DBC/Documents/video1.mov
必须有一种简单的方法将我的URL转换为文件管理器可以处理的内容。我猜我不能把所有的视频留在tmp目录中,如果我想保留它们,它们必须保存到文件目录中吗?
此外,这并不是真正相关,但如何在表格视图中显示该视频的缩略图?
答案 0 :(得分:5)
必须有一种简单的方法将我的URL转换为文件管理器可以处理的内容。
你是对的 - 是一种简单的方法,它只是隐藏在文档中:
NSString *myPath = [myUrl path];
来自path
方法的文档:
返回值
URL的路径。如果接收方不符合RFC 1808,则返回nil。 如果isFileURL返回YES,则返回值适合输入NSFileManager或NSPathUtilities。如果路径有尾部斜杠,则将其删除。
答案 1 :(得分:-2)
NSData *imageData = [NSData dataWithContentsOfURL:[info objectForKey:@"UIImagePickerControllerMediaURL"]];
NSString *tempPath = [NSString stringWithFormat:@"%@/Documents/%@.mp4",NSHomeDirectory(),dateStr];
[imageData writeToFile:tempPath atomically:NO];