我显示了来自API的基本64字符串的图像。问题是,图像没有被显示。显示来自base64string的图像
下面的代码:
profilePictureImg.Source = GetUserImage(user.MobileNumber);
private BitmapImage GetUserImage(string phoneNumber)
{
BitmapImage bitmapImage = new BitmapImage();
var baseAddress = "http://192.168.0.103/vchatapi/api/Images/" + phoneNumber;
var http = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(new System.Uri(baseAddress));
http.Accept = "application/json";
http.ContentType = "application/json";
http.Method = "GET";
var response = http.GetResponse();
var stream = response.GetResponseStream();
var sr = new StreamReader(stream);
var content = sr.ReadToEnd();
var y ="";
var x = y.FromJson(content);
byte[] binaryData = Convert.FromBase64String(x);
using (MemoryStream ms = new MemoryStream(binaryData, 0, binaryData.Length))
{
ms.Write(binaryData, 0, binaryData.Length);
bitmapImage.StreamSource = ms;
}
return bitmapImage;
}
任何想法?谢谢!
编辑:
得到了修复。出于某种原因,它需要调用BeginInit和EndInit。
谢谢你的回复。但图像仍然不显示。 – ljpv14
那么首先要检查的是:你的'binaryData'是你期望的字节数?即您是否已成功获取数据? –
我会检查这个。尽管如此,我对binaryData非常有信心。一段时间后会回复你。 – ljpv14