【问题标题】:How to upload image + xml into web server using SOAP request from iphone application如何使用来自 iphone 应用程序的 SOAP 请求将图像 + xml 上传到 Web 服务器
【发布时间】:2012-09-17 16:13:18
【问题描述】:

我正在实现一个 iPad 应用程序。在我的应用程序中,我需要从用户那里获取一些信息和个人资料图片,并且需要使用 SOAP 请求将该信息上传到 Web 服务器。我完成了文本输入上传。但是当谈到图像时,我并没有意识到这一点。我知道,要上传图像,我们需要将其转换为 NSData 我做到了,但是如何将其添加到我的帖子字符串中?

我的代码如下:

NSData* imageData = UIImagePNGRepresentation(myPic);
NSString* uploadValues=@"";
uploadValues = [uploadValues stringByAppendingString:[NSString stringWithFormat:@"<UserInformation><UserInfo action=\"INSERT\"><Userid>123</Userid><FirstName>abc</FirstName><LastName>xyz</LastName><Contact>00000000</Contact><Email>abc@googole.com</Email><Address>USA</Address><Image>How can I put image data here? is that work if I put data here?</Image></UserInfo></UserInformation>"];
        uploadValues = [uploadValues stringByReplacingOccurrencesOfString:@"(null)" withString:@" "];
        serverConnections=[ServerConnections sharedConnections];
        serverConnections.delegate=self;

        NSString* soapString = [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"
                                "<SetUserInfo xmlns=\"http://example.com/\">\n"
                                "<Data><![CDATA[ %s ]]></Data> \n"
                                "</SetUserInfo> \n"
                                "</soap:Body>\n"
                                "</soap:Envelope>\n",[uploadValues UTF8String]];

        printf("\n Input string:%s",[soapString UTF8String]);


        NSURL *url = [NSURL URLWithString:@"http://example.com/xyz.asmx"];
        NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
        NSString *msgLength = [NSString stringWithFormat:@"%d", [soapString length]];

        [theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
        [theRequest addValue: @"http:/example.com/SetUserInfo" forHTTPHeaderField:@"SOAPAction"];
        [theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
        [theRequest setHTTPMethod:@"POST"];
        [theRequest setHTTPBody: [soapString dataUsingEncoding:NSUTF8StringEncoding]];
        [serverConnections startEstablishingConnectionwithServer:theRequest];

【问题讨论】:

    标签: ios5 soap uiimage nsdata


    【解决方案1】:

    来自Here

     [req addValue:@"image/jpeg" forHTTPHeaderField:@"Content-Type"];
     [req setHTTPBody:imgData]
    

    【讨论】:

    • 我会这样做,但是从服务器端他们如何访问这些图像数据
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多