当我尝试从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))
答案 0 :(得分:1)
代码看起来很好。然而,BitmapImage与其WPF堂兄的关键区别在于它只支持JPEG和PNG。检查是否正在使用其中一种格式。