iOS:如何使用Restkit将图像的名称上传到服务器

问题描述:

我试图从手机上传图像到服务器。一切工作正常,除了使用下面的代码使用“头像”作为文件名。所以我想我的问题是,我给他们选择一张照片或者用相机拍照。我知道哪种类型的文件即png,jpg,还是我需要在上传之前弄清楚它?iOS:如何使用Restkit将图像的名称上传到服务器

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage]; 

    //self.avatarImage = [[UIImageView alloc] init]; 
    self.avatarImage.image = image; 
    [self dismissModalViewControllerAnimated:YES]; 

    RKParams* params = [RKParams params]; 

    NSData* imageData = UIImagePNGRepresentation(image); 
    [params setData:imageData MIMEType:@"image/png" forParam:@"Avatar"]; 

    NSLog(@"RKParams HTTPHeaderValueForContentType = %@", [params HTTPHeaderValueForContentType]); 
    NSLog(@"RKParams HTTPHeaderValueForContentLength = %d", [params HTTPHeaderValueForContentLength]); 

    [[RKClient sharedClient] post:@"/user/updateavatar" params:params delegate:self]; 
} 
+0

你的代码对我来说看起来很好..你得到了什么错误? – 2012-07-20 05:46:38

+0

代码工作正常,我的问题是,因为我给他们从图片库中选择一张照片或一张图片的选项,我知道它是什么类型的文件吗?为了将它保存在服务器上,我保存了一个PNG还是一个JPG文件,或者有什么方法可以告诉? – Jhorra 2012-07-20 06:37:41

这条线就是你的答案:

NSData* imageData = UIImagePNGRepresentation(image); 

您正在创建一个PNG图像。

+0

...... Paul说得对.. – 2012-07-20 06:42:52

+0

好吧,我只是想确认一下。 – Jhorra 2012-07-20 14:18:57