2013-05-23 2 views
1

Я пытаюсь отправить некоторые тексты и изображение. Я могу отправить все, кроме изображения. Проблема в том, что я не знаю, как это передать.Отправка изображения на SOAP webservice

in .net soap webservice, изображение объявляется base64binary. Что такое equalevant в объективе c? как мне передать его в объективном c?

вот мой код (я посылаю пустую строку для изображения, этот код работает, но ничего не вставляет для столбца изображения)

NSString *soapMessage = [NSString stringWithFormat: 
         @"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" 
         "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" 
         "<soap:Body>\n" 
         "<insert_data xmlns=\"http://tempuri.org/\">\n" 
         "<id>%@</id>" 
         "<name>%@</name>" 
         "<lname>%@</lname>" 
         "<date>%@</date>" 
         "<image1>%@</image1>" 
         "</insert_data>" 
         "</soap:Body>\n" 
         "</soap:Envelope>\n",@"999",@"arif",@"yilmaz",@"2013-09-09",@""]; 


    (void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
[self.popoverController dismissPopoverAnimated:true]; 
[popoverController release]; 

NSString *mediaType = [info 
         objectForKey:UIImagePickerControllerMediaType]; 
[self dismissModalViewControllerAnimated:YES]; 
if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) { 
    UIImage *image = [info 
         objectForKey:UIImagePickerControllerOriginalImage]; 

    /* Setting the images to the correct viewer - AY */ 
    if(image_counter==0){ 
     imageView.image = image; 
     *datax = UIImagePNGRepresentation(image); 
     //********* I am getting the error here 
     // "Assigning to 'NSData' from incompatible type NSData * " 
    } 
    else if(image_counter==1){ 
     imageView2.image = image; 
    } 
    else{ 
     imageView3.image = image; 
    } 
    if(image_counter<3) 
     image_counter++; 
    /******************/ 

    if (newMedia) 
     UIImageWriteToSavedPhotosAlbum(image, 
             self, 
             @selector(image:finishedSavingWithError:contextInfo:), 
             nil); 
} 
else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie]) 
{ 
    // Code here to support video if enabled 
} 

}

+0

http://stackoverflow.com/questions/2901797/iphone-uiimage-upload-to -web-service – CRDave

+0

Вы можете использовать сторонние структуры, такие как AFNetwork. AFNetworking делает сообщение очень простым. – cekisakurek

+0

Мне нужно отправить его как base64binary –

ответ

1

Попробуйте использовать этот. Здесь дайте изображение и отправьте данные своего изображения на сервер.

UIImage *img = [UIImage imageNamed:@"imageName.png"]; 
NSData *data = UIImagePNGRepresentation(img); 

NSString *soapMessage = [NSString stringWithFormat: 
         @"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" 
         "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" 
         "<soap:Body>\n" 
         "<insert_data xmlns=\"http://tempuri.org/\">\n" 
         "<id>%@</id>" 
         "<name>%@</name>" 
         "<lname>%@</lname>" 
         "<date>%@</date>" 
         "<image1>%@</image1>" 
         "</insert_data>" 
         "</soap:Body>\n" 
         "</soap:Envelope>\n",@"999",@"arif",@"yilmaz",@"2013-09-09",data]; 

Edited .....

Удалить переменную указатель здесь ...

datax = UIImagePNGRepresentation(image); 
+0

, он говорит «Присвоение« NSData »из несовместимого типа NSData *», это потому, что я пытаюсь получить изображение с камеры? –

+0

В какой строке вы получаете это предупреждение ... –

+0

Я обновил код выше –

Смежные вопросы