2012-12-13 4 views
4

아이폰 갤러리에있는 이미지의 경로를 얻을 수 있지만, 내가 경로 포착 이미지의을받지 얼마나내가 아이폰 갤러리에서 이미지를 업로드해야

(이미지 피커 사용) 이미지 피커 대리자 메서드에서 나는 다음과 같은

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    [picker dismissModalViewControllerAnimated:YES]; 
    imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 

    NSString *strImagePath = [info valueForKey:UIImagePickerControllerReferenceURL]; 
    NSString *strImagePath1 = [info valueForKey:UIImagePickerControllerMediaURL]; 
    NSLog(@"%@",strImagePath); 
    NSLog(@"%@",strImagePath1); 
    NSLog(@"%@",info); 

} 

을하고있는 중이 야에서 정보 사전은 키 값

{ 
    UIImagePickerControllerMediaType = "public.image"; 
    UIImagePickerControllerOriginalImage = "<UIImage: 0x16adc0>"; 
    UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=1000000153&ext=PNG"; 
} 
다음 포함

키 UIImagePickerControllerReferenceURL의 값을 이미지 경로로 사용하여 FTP로 업로드했지만 파일을 업로드 할 수 없습니다. 아마도 내가 취한 경로가 올바르지 않을 수 있습니다.

내가 NSData에 이미지를 변환 한 다음이 NSData 업로드 이미지 피커

답변

12

는 것입니다 도움이

[picker dismissModalViewControllerAnimated:YES]; 
imageView.image= [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
NSData *webData = UIImagePNGRepresentation(imageView.image); 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *localFilePath = [documentsDirectory stringByAppendingPathComponent:png]; 
[webData writeToFile:localFilePath atomically:YES]; 
NSLog(@"localFilePath.%@",localFilePath); 

UIImage *image = [UIImage imageWithContentsOfFile:localFilePath]; 
유를하실 수 있습니다
+0

나중에 내가 똑같은 방식으로 해냈어. 감사합니다. – Ravi

+0

이것도 사용하여 FTP 서버에 이미지를 보내고 있습니다. 저에게 완벽하게 작동합니다. –

+0

@Sudha 어떤 방법이 있습니까? 이미 어딘가에 저장 되었기 때문에 문서 디렉토리에 저장하지 않고 경로를 얻으려고합니다 – thavasidurai

1

를 사용하여 포착 이미지의 실제 경로를 취할 수있는 방법을 누군가가 나를 도울 수 있습니다.

더 읽기

NSData *dataImage = UIImagePNGRepresentation(yourImageView.image); 

를 사용을 NSData

NSData *dataImage = UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"],1); 

아니면 NSData에 yourImage을 변환 할 수있는 당신의 이미지가 NSData Class Reference

+0

당신의 대답은 고맙지 만 데이터는 null을 반환합니다. NSData * data = [[NSData alloc] initWithContentsOfURL : [info valueForKey : UIImagePickerControllerReferenceURL]]; – Ravi

+0

당신은 위의 라인을 사용하여 NSData에서 이미지를 얻을 수 있습니다 .. – Rajneesh071

관련 문제