0

電話からサーバーに画像をアップロードしようとしています。ファイル名として「Avatar」を使用している以下のコードを使用することを除いて、すべてが正常に機能しています。私の質問は、写真を選択するか、カメラで写真を撮るかの選択肢を彼らに与えているということだと思います。png、jpg などのファイルの種類を知っていますか、それともアップロードする前に把握する必要がありますか?

- (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];
}
4

1 に答える 1

1

この行はあなたの答えです:

NSData* imageData = UIImagePNGRepresentation(image);

PNG 画像を作成しています。

于 2012-07-20T06:42:05.650 に答える