2011-09-02 86 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中將其刪除,如果需要的話。

相關問題