iPhone SDK: преобразование / загрузка изображения в службу SOAP

У меня возникают проблемы с преобразованием / загрузкой изображения с камеры в удаленную веб-службу SOAP.

Вот код для преобразования изображения в массив байтов:

UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
    if (image == nil)
        image = [info objectForKey:UIImagePickerControllerOriginalImage];

NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(image)];
    NSString *post_string = [NSString stringWithFormat:@"%@", imageData];

    NSData *postData = [post_string dataUsingEncoding:NSUTF8StringEncoding];
    NSString *postLength = [[NSString alloc] initWithFormat:@"%d", [postData length]];

Правильно ли я конвертирую это изображение в массив байтов?

Любая помощь приветствуется.


person dbarrett    schedule 14.09.2010    source источник


Ответы (1)


Вам не нужно преобразовывать изображение в NSString, чтобы отправить его в веб-службу, только в NSData.

Если вы используете NSMutableURLRequest, вы должны затем использовать - (void)setHTTPBody:(NSData *)data, используя значение, возвращаемое UIImagePNGRepresentation или UIImageJPEGRepresentation. См. документацию Apple по NSMutableURLRequest class для получения дополнительной информации.

person Greg    schedule 14.09.2010
comment
Я тоже так думал, но вроде не работает. Веб-служба ожидает получить данные изображения в формате base64Binary. Это правильно? - person dbarrett; 17.09.2010