2009-04-22 39 views
0

我正在爲從iphone上編寫的web服務器獲取內容的iphone原型製作視頻流客戶端。iphone:從XML文檔中的數據製作一個新的UIImage

服務器輸出一個XML文檔,其中圖像的jpg數據存儲在其中一個標籤()中。它使用WriteBase64將其寫出。

在iPhone上,我使用libxml來解析xml並將圖像的字節存儲在NSString中。

下一步是使用數據創建一個NSData對象,然後使用它的+ initWithData方法創建一個新的UIImage。

但是,每次嘗試創建新圖像時,結果都是一個零對象,表示失敗。我最好的猜測是,我需要做某件事來將NSString轉換回來。

請幫忙!!

+0

不要在一個字符串中存儲字節,它會做字符轉換......這是一個字符串!將它們存儲在字節數組中或使用可變數據對象並將它們存儲在此處:) – 2009-04-22 20:18:17

回答

3

你是否正確base64解碼你的XML字符串?在Objective-C中沒有一種原生的方法可以解決這個問題,但是關於如何在這裏推出自己的方法有一個很好的討論:http://www.cocoadev.com/index.pl?BaseSixtyFour

+0

謝謝!那就是訣竅。 – mwahab 2009-04-22 20:49:44

1

另一種方法是直接附加圖像二進制數據在XML流之後並自己解析出來--base64編碼確實會擴大您傳輸的圖像的大小。

+0

在下一次迭代中,我肯定會繼續這樣做,base64編碼的東西已經完成,所以服務器端的人可以開始運行一個工作原型。謝謝! – mwahab 2009-04-24 13:31:10

相關問題