2010-08-06 77 views
1

當我嘗試從XML文件中發送的base64編碼字符串中創建圖像時,出現災難性故障錯誤。我有後端的人說,它的工作原理,但他使用WPF和Silverlight是不同的。從base64編碼字符串(Silverlight 4.0)創建圖像

代碼:

void TagCloudImageCompleted(object sender, WebApiTagCloud.TagCloudImageCompletedEventArgs e) 
    { 
     String cloudImageResult = e.Result; 
     //MessageBox.Show(cloudImageResult); 

     XDocument cloudImageXML = XDocument.Parse(cloudImageResult); 
     String bmpString = cloudImageXML.Element("TagCloudImage").Element("BitMapImage").Value; 

     byte[] imageBytes = System.Convert.FromBase64String(bmpString); 
     MemoryStream ms = new MemoryStream(imageBytes); 
     BitmapImage im = new BitmapImage(); 
     im.SetSource(ms); 
     LocationImage.Source = im; 
     ms.Close(); 
    } 

由於他的版本是工作,我曾試圖以驗證我得到的數據是正確的。但我還沒有能夠與他覈實,我們正在獲得類似的數據。

就行im.SetSource(ms);

災難性故障(異常來自 HRESULT:0x8000FFFF(E_UNEXPECTED))錯誤

回答

1

代碼看起來細。然而,BitmapImage與WPF表親的關鍵區別在於它只支持JPEG和PNG。檢查是否正在使用這些格式之一。