0

代码的第一部分是按下相机按钮的位置,但不是在检查是否已填充文本字段之前,然后检查相机类型。我认为这里一切正常。一旦拍摄完照片,我就会调整图像的大小,使其尺寸更小,然后将其转换为 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";

}
4

1 回答 1

0

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

if (self.base64Image!= nil){

    NSString *strImageData = [self.base64Image stringByReplacingOccurrencesOfString:@"+" withString:@"%2B"];

    NSString *param =[NSString stringWithFormat:@"photo=%@", strImageData];

    [values addObject:param];
}
于 2014-12-02T10:03:58.510 回答