2009-11-14 28 views
3

在我的应用程序中,用户可以使用UIImagePickerController录制视频,并且需要将其保存到磁盘供以后使用。我已经从信息词典中找到了路径,并且将它保存到我的文档目录中,但是我遇到的问题是在字典中传递的URL只是一个URL而不是文件路径。当我使用absoluteString将其转换为字符串并将其作为我的文件管理器的源路径传递时,它会失败,说没有找到源文件。保存来自UIImagePickerController的视频

旧路径:文件://localhost/private/var/mobile/Applications/77B4D2B8-DE12-4643-82F0-2ECC948E4DBC/tmp/capture/capturedvideo.MOV

新路径:在/ var /移动/应用程序/ 77B4D2B8-DE12-4643-82F0-2ECC948E4DBC/Documents/video1.mov

有一个简单的方法可以将我的URL转换为文件管理器可以处理的内容。我猜我不能将所有视频都保存在tmp目录中,如果我想让它们保持在正确的位置,它们必须保存到文档目录中?

此外,这并没有真正相关,但我怎样才能得到该视频的缩略图以显示在表格视图中?

回答

5

有一个简单的方法可以将我的URL转换为文件管理器可以处理的内容。

你是对的 - 有一种简单的方法,它只是埋在文件中:

NSString *myPath = [myUrl path]; 

从文档的path方法:

返回值
URL的路径。如果接收者不符合RFC 1808,则返回nil。 如果isFileURL返回YES,则返回值适合输入NSFileManager或NSPathUtilities。如果路径有尾部斜线,则将其剥离。

+0

帮助我,thanx。 –

-2
NSData *imageData = [NSData dataWithContentsOfURL:[info objectForKey:@"UIImagePickerControllerMediaURL"]]; 


NSString *tempPath = [NSString stringWithFormat:@"%@/Documents/%@.mp4",NSHomeDirectory(),dateStr]; 

    [imageData writeToFile:tempPath atomically:NO]; 
+1

这真的很难看 –

+0

而且很脆弱 –