3

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

旧路径: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 目录中,如果我想保留它们,就必须将它们保存到文档目录中,对吗?

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

4

2 回答 2

5

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

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

NSString *myPath = [myUrl path];

从该path方法的文档中:

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

于 2009-12-07T15:55:36.637 回答
-2
NSData *imageData = [NSData dataWithContentsOfURL:[info objectForKey:@"UIImagePickerControllerMediaURL"]];


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

  [imageData writeToFile:tempPath atomically:NO];
于 2010-05-26T09:03:59.950 回答