Сохранение видео из UIImagePickerController - PullRequest
3 голосов
/ 14 ноября 2009

В моем приложении пользователь может записывать видео с помощью UIImagePickerController, и мне нужно сохранить его на диск для дальнейшего использования. Я получил путь из информационного словаря и собираюсь сохранить его в своем каталоге документов, но проблема, с которой я сталкиваюсь, заключается в том, что URL, передаваемый в словаре, - это просто URL, а не путь к файлу. , Когда я преобразовываю ее в строку с использованием absoluteString и передаю ее как исходный путь моему файловому менеджеру, он не может сказать, что исходный файл не найден.

Старый путь: файл: //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, они должны быть сохранены в каталоге документов, если я хочу сохранить их рядом, верно?

Кроме того, это на самом деле не связано, но как я могу получить эскиз этого видео для отображения в виде таблицы?

Ответы [ 2 ]

5 голосов
/ 07 декабря 2009

Должен быть простой способ преобразовать мой URL во что-то, что может обработать файловый менеджер.

Вы правы - там - это простой способ, это просто скрыто в документации:

NSString *myPath = [myUrl path];

Из документов для path метода:

Возвращаемое значение
Путь URL. Если получатель не соответствует RFC 1808, возвращает ноль. Если isFileURL возвращает YES, возвращаемое значение подходит для ввода в NSFileManager или NSPathUtilities. Если путь имеет завершающий слеш, он удаляется.

0 голосов
/ 26 мая 2010
NSData *imageData = [NSData dataWithContentsOfURL:[info objectForKey:@"UIImagePickerControllerMediaURL"]];


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

  [imageData writeToFile:tempPath atomically:NO];
...