图像未显示Xamarin.Forms



我正在开发Xamarin应用程序,这是我一直在开发的另一个项目API 的一部分

因此,API将配置文件图片以字节[]的形式发送给Xamarin应用程序,但Xamarin的应用程序不显示它

到目前为止,我已经尝试了来自不同平台的许多选项,包括这里,但它仍然不起作用

我试着将图像转换为64进制字符串,然后在使用显示之前将其转换回字节[]

imageProfilePic.Source = ImageSource.FromStream(() => new MemoryStream(base64Stream.ToArray()));

我尝试过的其他选项包括直接使用数组创建内存流对象,我甚至尝试将图像返回为64进制字符串,然后将其转换为字节数组,并用于创建一个新的MemoryStream来显示图像。

我开始觉得沙马林有严重的问题。

有没有一种方法我可以从API返回一个图像URL,我认为这将是更好的选择,

我使用EF Core和MS SQL 将图像以byte[]数组的形式存储在数据库中

你能把Base64字符串转换成这样的字节数组吗:

var byteArray = Convert.FromBase64String(base64Stream);

然后设置图像源;

imageProfilePic.Source = ImageSource.FromStream(()=> new MemoryStream(byteArray));

我实际上找到了一种显示的方法,我使用了URL,由于我可以访问API,我决定调整API,这样我就不会将图像存储到数据库中,而是将它们存储在文件服务器中,并将它们的URL存储在数据库中,我将使用API返回URL,并使用它以格式访问图片

localhost:/images/picture.jpg

由于我在本地托管API,所以本地主机将被替换为IP地址

在Android应用程序中,它将是

picture.Source=ImageSource.FromUri(myUri(;

它就像一个魅力

最新更新