从base64编码的字符串创建图像(Silverlight 4.0)

时间:2010-08-06 04:51:04

标签: c# silverlight silverlight-4.0 base64

当我尝试从XML文件中发送的base64编码字符串创建映像时,我收到了灾难性故障错误。我有后端人说它有效,但他使用WPF和Silverlight是不同的。

代码:

    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 个答案:

答案 0 :(得分:1)

代码看起来很好。然而,BitmapImage与其WPF堂兄的关键区别在于它只支持JPEG和PNG。检查是否正在使用其中一种格式。