2009-11-14 7 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을 파일 관리자가 처리 할 수있는 방법으로 쉽게 변환 할 수 있어야합니다.

당신이 옳아 요 - 쉬운 방법, 그것은 바로 문서에 묻혀이 입니다 :

반환 값 : path 방법에 대한 문서에서

NSString *myPath = [myUrl path]; 


URL의 경로입니다. 수신자가 RFC 1808을 준수하지 않으면 nil을 반환합니다. isFileURL이 YES를 반환하면 반환 값은 NSFileManager 또는 NSPathUtilities에 대한 입력에 적합합니다. 경로에 후행 슬래시가 있으면 경로가 제거됩니다.

+0

Helped me, thanx. –

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


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

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

이것은 정말로 못생긴다 –

+0

그리고 꽤 부서지기 쉬운 –

관련 문제