检索使用takePicture拍摄的UIImage

问题描述

| 目前,我可以在imagePickerController函数中检索使用takePicture拍摄的照片,但是我想在此函数之外使用它,并且当我尝试使全局变量使用此UIImage时,我没有任何照片。 那我怎么用这个UIImage? 我的代码
- (void)imagePickerController:(UIImagePickerController *)aPicker didFinishPickingMediawithInfo:(NSDictionary *)info {

    screenshot = [info objectForKey:@\"UIImagePickerControllerOriginalImage\"];
}
我在那里使用它:
NSData *imageData=[NSData dataWithData:UIImagePNGRepresentation(screenshot)];
NSURL *url = [NSURL URLWithString:@\"http://myserver/test.PHP\"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request addData:imageData withFileName:@\"tmp.jpg\" andContentType:@\"image/jpeg\" forKey:@\"userfile\"];
[request setRequestMethod:@\"POST\"];
[request setDelegate:self];
[request startSynchronous];
NSLog(@\"responseStatusCode %i\",[request responseStatusCode]);
NSLog(@\"responseStatusstring %@\",[request responseString]);
屏幕快照是我的全局变量,我在服务器上收到空白图像。 提前致谢。     

解决方法

        我假设您正在实现UIImagePickerControllerDelegate?如果是这样,当调用imagePickerController:didFinishPickingMediaWithInfo:时,您可以使用以下命令从传入的字典中获取图像:
UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage];
如果要保留图像,请为viewcontroller类声明一个带有keep的属性,并进行设置:
self.image = [info valueForKey:UIImagePickerControllerOriginalImage];