2010-08-06 131 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。检查是否正在使用这些格式之一。