2011-09-02 108 views

回答

0
  1. 使用XML以检索图像列表。(存储它的服务器或Web服务得到它)
  2. 使用的NSXMLParser来解析和获取图像的URL。
  3. 用于获取图像。 [NSData dataWithContentsOfURL:<#(NSURL *)url#>] 或 使用以下内容。

    NSURL *url = [NSURL URLWithString:[fileUrl 
    stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
    
    NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; 
    [theRequest setHTTPMethod:@"POST"]; 
    
    webData = [[NSMutableData alloc] init]; 
    
    NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest  
    delegate:self startImmediately:YES]; 
    

或肥皂代码

NSURL *url = [NSURL URLWithString:@"<URL>"]; 
    NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; 
    theRequest = [NSMutableURLRequest requestWithURL:url]; 
    NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]]; 
    [theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content- Type"]; 
    [theRequest addValue: @"<ADD Value Here>" forHTTPHeaderField:@"SOAPAction"]; 
    [theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"]; 
    [theRequest setHTTPMethod:@"POST"]; 
    [theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]]; 
    NSURLConnection theConnection = [[NSURLConnection alloc] initWithRequest:theRequest 
    delegate:self startImmediately:YES]; 

在上面,如果你正在传递文件的URL某些Web服务请求和它与它的约束文件中的数据,然后分析它通过返回XML NSXmlParser并在以下方法中将数据写入文件中。

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{

如果您需要任何进一步的帮助,请在此填写。

+0

是否可以使用soap请求完成? – Priyanshu

+0

是的....我会用代码编辑我的答案.... – Mohammad

+0

嗨,伙计...问题是,客户现在说,根本没有网络服务。他给了我两个链接,一个用于图像上传,另一个用于从服务器返回的图像结果集。我必须从我的iPhone画廊上传3张图片,并且一旦我将这三张图片上传到给定的服务器,服务器会发送给我大量图片。请指导我如何在这种情况下上传图像和检索图像... – Priyanshu

0

通常来自服务器的信息将采用xml或JSON格式。

NSXML解析器解析xml数据,JSON解析器解析json数据。但图像不会采用xml或Json格式。图像将是您必须从服务器下载的字节块。

通常,图片url可以是xml或json数据的一部分,这些数据将使用适当的解析器进行解析。一旦你得到了图像的URL,你将使用NSUrlConnection或ASIHttpRequest(库)来下载图像。

0

ASIHTTPRequest执行异步请求。
JSON框架将传入的JSON对象解析为本机数据对象(NSDictionaries和NSArrays)。
UIImage *myDownloadedImage = [UIImage imageWithData:[requestObject responseData]];将下载的图像数据转换为UIImage。

下面是我最近的一个项目的一些示例代码。我已包含ASIHTTPRequest.hJSON.h

NSString *projurl = [NSString stringWithFormat:@"%@mobile/project_details/?project=%@", WEBAPPURL, self.projectId]; 

__block ASIHTTPRequest *r = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:projurl]]; 
[r setCompletionBlock:^{ 
    self.projectData = [[r responseString] JSONValue]; 
    [self.tableView reloadData]; 
}]; 
[r startAsynchronous]; 

你可以右转各地在完成块,挑选出与该项目有关的图像的URL,要求他们处理嵌套的第一个在另一个内部完成块内的响应... ASI的新块的美女面向对象的结果处理就是它可以在一个地方发生,而且您不必为正式委托模式的细节而烦恼。

您可以在startAsynchronous调用之前放置一个“加载”UI元素,并在completionBlock中将其删除,如果需要的话。

相关问题