2016-08-30 31 views
0

イメージピッカーからUIImageを選択しています。次に、選択したイメージをバイト配列としてサーバーに渡します。だからこのデリゲートで私はこのような私の選択した画像のパスを取得しています。UIImagePickerイメージをバイト配列に変換する方法objective-c

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info 

filePath=info[UIImagePickerControllerReferenceURL]; 

次に、このようなバイト配列に変換します。

NSData *data = [NSData dataWithContentsOfURL:filePath]; 
NSUInteger len = [data length]; 
Byte *byteData = (Byte*)malloc(len); 
memcpy(byteData, [data bytes], len); 
NSLog(@"----BITE DATA----%@",byteData); 

ただし、このdataは常にnilになります。何故ですか?私を助けてください。 おかげ

+0

私の更新されたコードを参照してください。.. – vaibhav

答えて

0

はplzのコードの下に使用して画像を取得するdidFinishPickingMediaWithInfoメソッド内でこの

UIImage *Image = (UIImage*)[info valueForKey:UIImagePickerControllerOriginalImage]; 
     NSData *imgData = UIImageJPEGRepresentation(Image, 1); //1 it represents the quality of the image. 
     NSLog(@"Size of Image(bytes):%d",[imgData length]); 
1

を使用しています。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

    UIImage *chosenImage = info[UIImagePickerControllerEditedImage]; 
    NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(chosenImage)]; 
    NSLog(@"image string : %@",info[UIImagePickerControllerEditedImage]); 

    // save using nsuserdefaults or any other your local database 
    [[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"imageData"]; 
} 

次のコードを使用して、どこにでも表示できます。

NSData *imageData = [[NSUserDefaults standardUserDefaults] valueForKey:@"imageData"]; 
UIImage *image = [UIImage imageWithData:imageData]; 
self.imageView.image = image; 
0
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 

    UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 


    NSData* imageData=UIImageJPEGRepresentation(image,1.0); 

    // Add selected imageData in Array and pass imageData to server 
    [imageDataArray addObject:imageData]; 


} 
関連する問題