簡體   English   中英

通過XML將圖像檢索到iPhone應用程序

[英]Retrieving images to iphone app through XML

我制作了一個iPhone應用程序,其中通過保存的xml從遠程服務器檢索數據。 我也想在XMl中檢索圖像,並且必須在存儲在服務器上的iphone應用程序中顯示它們。 請幫助如何實現。

在我的應用程序中,我同時通過Xml發送和接收圖像。 為了簡化此操作,我使用base64編碼對圖像進行編碼/解碼。 MY編碼/解碼方法分為2個Objective-C類別,其中1個用於NSData,另外1個用於NSString。 您在各自的數據類型上調用了這些方法,下面列出了示例。 方法是[NSData base64Encoding]和[NSString base64Decoding]。

發送到服務器時...

NSLog(@"Compressing Image: JPEG 80%");
NSData *imgData = UIImageJPEGRepresentation(scaledImage, 0.8f);    
NSString *b64String = [imgData base64Encoding];

我的“ b64String”變量現在具有我的圖像的base64編碼的字符串表示形式。 現在,您可以將其包裝在Xml中,並使用常規的NSURLConnection將其發送到服務器。

從服務器接收時...(確保從服務器發送base64編碼的文本)

您將進行常規的Xml解析,這里我的“值”變量保存了服務器的base64字符串。

NSData *imgData = [value base64Decoding];
UIImage *image = [[UIImage alloc] initWithData:imgData];

您應該能夠在Objective-C中查找一些常見的base64編碼/解碼算法,讓我知道您是否要發布我的方法(它們有點長,因此我在這里省略了它們)。

目前,我正在編寫一個有此問題的應用程序-通過將url放置到xml中而不是嵌入圖像數據本身來解決了該問題。 例如,我的xml看起來像這樣:

<images>
  <image url="http://www.example.com/images/12345.jpg" />
  <image url="http://www.example.com/images/67890.jpg" />
</images>

在解析xml時,當我點擊<image>標記時,會將URL存儲在NSMutalbeArray中。 解析xml后,我遍歷數組並使用NSURLConnection獲取每個圖像。

山姆

PS我從此頁面上了解了如何使用NSURLConnection: https : //developer.apple.com/mac/library/documentation/Cocoa/Conceptual/URLLoadingSystem/Tasks/UsingNSURLConnection.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM