图片未显示 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);
而且效果很好
我正在开发 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);
而且效果很好