【问题标题】:Unable to see UIImage once stored and sent to Server form CoreData?一旦存储并从CoreData发送到服务器就看不到UIImage?
【发布时间】:2014-11-27 16:01:21
【问题描述】:

代码的第一部分是按下相机按钮的位置,但不是在检查文本字段是否已填充之前,然后检查相机类型。我认为这里一切正常。一旦拍完照片,我就会调整图像的大小,使其尺寸更小,然后将其转换为 NSString,然后将 NSString 数据存储在 CoreData 中,然后发送到服务器以显示在屏幕。

这是相机按钮

-(IBAction)takePicture:(UIButton*)sender {

if (printedname.text.length ==0){

 UIAlertView*alert=[[UIAlertView alloc]initWithTitle:
 @"Please enter Name"message:@""delegate:self cancelButtonTitle:
 @"Dismiss"otherButtonTitles:nil];[alertshow];return;

}

UIImagePickerController *pictureTaker = [[UIImagePickerController alloc] init];

pictureTaker.delegate = self;

    if ([UIImagePickerController isSourceTypeAvailable:
     UIImagePickerControllerSourceTypeCamera]) {
     pictureTaker.sourceType = UIImagePickerControllerSourceTypeCamera;

} else if([UIImagePickerController isSourceTypeAvailable:
         UIImagePickerControllerSourceTypeSavedPhotosAlbum]){

         pictureTaker.sourceType  = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

}

[self presentViewController:pictureTaker animated:YES completion:nil];}

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

NSLog(@"%@", info);
NSString * mediaType = [info objectForKey:UIImagePickerControllerMediaType];

if([mediaType isEqual:(__bridge NSString *)kUTTypeImage]){

    [pictureTaker dismissViewControllerAnimated:YES completion:nil];

    base64Image = [info objectForKey:UIImagePickerControllerEditedImage];

    base64Image = [info objectForKey:UIImagePickerControllerOriginalImage];

    CGSize newSize = CGSizeMake(100.0f,60.0f);
    UIGraphicsBeginImageContext(newSize);
    [base64Image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
    base64Image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    NSData *data = UIImageJPEGRepresentation(base64Image, 1.0);
    base64string = [data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];

    NSLog(@" image (%@), width: %.0f, height: %.0f, scale: %0.2f, string len %lu",base64Image,base64Image.size.width,
          base64Image.size.height, base64Image.scale,(unsigned long)base64string.length); 
}

UIImageWriteToSavedPhotosAlbum(base64Image, self, NULL , NULL);

}

它似乎发送了 ok save 但是中途丢失了,任何人都可以帮忙,因为我一直在尝试解决这个问题,我在控制台输出下方包含了供您查看>以及,感谢任何人这可以提供帮助。

UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerOriginalImage = "<UIImage: 0x17056260> size 
{ 2448, 3264 }
orientation 3 scale 1.000000";

}

【问题讨论】:

    标签: ios8 base64 uiimagepickercontroller converter cgsize


    【解决方案1】:

    我设法用下面的代码解决了这个问题:

    if (self.base64Image!= nil){
    
        NSString *strImageData = [self.base64Image stringByReplacingOccurrencesOfString:@"+" withString:@"%2B"];
    
        NSString *param =[NSString stringWithFormat:@"photo=%@", strImageData];
    
        [values addObject:param];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多