iphone中的图像上传

iphone中的图像上传,iphone,ios,xcode,Iphone,Ios,Xcode,我是Iphone开发的新手。我想将图像从Iphone库上传到服务器。 我想在屏幕上采取一个按钮,通过点击按钮,用户可以看到图像文件,并选择一个用户想要的文件。选择文件后,我想在图像视图中显示图像。 怎么做。如何使用ImageViewController 谢谢, Avinash Patil.使用UIImagePickerController及其委托方法,并在控制器的.h文件中实现UIImagePickerController delegate 只需为您的按钮单击编写此代码 -(IBAction


我是Iphone开发的新手。我想将图像从Iphone库上传到服务器。 我想在屏幕上采取一个按钮,通过点击按钮,用户可以看到图像文件,并选择一个用户想要的文件。选择文件后,我想在图像视图中显示图像。
怎么做。如何使用ImageViewController


谢谢,

Avinash Patil.

使用UIImagePickerController及其委托方法,并在控制器的.h文件中实现UIImagePickerController delegate

只需为您的按钮单击编写此代码

-(IBAction)btnTapped:(id)sender
{
        UIImagePickerController *imgPicker = [[UIImagePickerController alloc] init];
        imgPicker.delegate = self;
        imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        [self presentModalViewController:imgPicker animated:YES];
} 
当您单击此按钮时,UIImagePickercontroller将加载,选择您想要的任何图像,UIImagePickercontroller的此委托方法将被调用

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [picker dismissModalViewControllerAnimated:YES];
    [picker release];
    //This is selected image
    UIImage *img = [info objectForKey:UIImagePickerControllerOriginalImage];
    YOURIMAGEVIEW.image = img;
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [picker dismissModalViewControllerAnimated:YES];
    [picker release];
}
现在在
ASIHttpRequest
上搜索如何将图像上载到Web服务器。。。尝尝
谷歌

首先,您必须获取图像表单照片库,以便在下面的代码中使用

                   - (IBAction)BrowseImage:(id)sender {

if ([UIImagePickerController isSourceTypeAvailable:
     UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
    UIImagePickerController *imagePicker =
    [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;
    imagePicker.sourceType = 
    UIImagePickerControllerSourceTypePhotoLibrary;
    imagePicker.mediaTypes = [NSArray arrayWithObjects:
                              (NSString *) kUTTypeImage,
                              nil];
    imagePicker.allowsEditing = NO;
    [self presentModalViewController:imagePicker animated:YES];
    //newMedia = NO;

  }

  }
         -(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
         {
       [self dismissModalViewControllerAnimated:YES];

         }
选择映像后,您必须使用http post方法将该映像发送到服务器

这是代码

                  NSString *urlString = @"your Url";
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];

NSMutableData *body = [NSMutableData data];


NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];

// file
NSData *imageData = UIImageJPEGRepresentation([self scaleAndRotateImage:Mainimage.image],90);


[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// [body appendData:[[NSString stringWithString:@"Content-Disposition: attachment; name=\"user_photo\"; filename=\"photoes.jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"image\"; filename=\"%@.jpg\"\r\n",@"ImageNmae"] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];




// Text parameter1
// NSString *param1 = @"parameter text";
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"title\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:ImageTitel.text] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];


// close form
[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// set request body
[request setHTTPBody:body];

所以不是一个
给我代码
网站。您应该尝试提出可以回答的问题,而不必提供端到端的解决方案。你来这里是为了学习,而不是为了别人来做你的工作,不是吗?我知道蒂尔是对的,但他说他是新来的。请不要低估别人。。只要帮他,怎么解决problems@Marvin他可能是新来的,但这并不妨碍他使用谷歌或苹果开发者网站。这里有很多例子,他甚至在问题中提到了ImageViewController。那么,为什么不先尝试一下呢?