图片未显示 Xamarin.Forms

Image not displaying Xamarin.Forms

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

因此 API 将个人资料图片作为字节 [] 发送到 Xamarin 应用程序,但 Xamarin 应用程序未显示它。

到目前为止,我已经尝试了来自不同平台的许多选项,包括此处,但仍然无法正常工作

我已经尝试将图像转换为 base 64 字符串,然后在使用

显示之前将其转换回 byte[]
imageProfilePic.Source = ImageSource.FromStream(() => new MemoryStream(base64Stream.ToArray()));

在我尝试过的其他选项中,直接使用数组创建内存流对象,我什至尝试 return 将图像作为 base 64 字符串,然后将其转换为字节数组并用于创建用于显示图像的新 MemoryStream。

我开始认为 Xamarin 存在严重问题。

有什么方法可以 return 只是 API 中的图像 URL,我认为这会是更好的选择,

我将图像作为 byte[] 数组存储在数据库中,使用 EF Core 和 MS SQL

能否将 Base64 字符串转换为字节数组,如下所示:

var byteArray = Convert.FromBase64String(base64Stream);

然后设置图片来源;

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

其实我找到了显示的方法,我用的是URL, 因为我可以访问 API,所以我决定调整 API,这样我就不会将图像存储到数据库中,而是将它们存储在文件服务器中,并将它们的 URL 存储在数据库,我会 return URL 和 API 并用它来访问格式为

的图片

localhost:/images/picture.jpg

由于我在本地托管 API,localhost 将被 IP 地址替换

在 Android 应用程序中它将是

picture.Source = ImageSource.FromUri(myUri);

而且效果很好