【发布时间】:2020-07-19 19:28:05
【问题描述】:
我正在开发一个 Xamarin 应用程序,它是我一直在从事的另一个项目的一部分,一个 API
因此 API 将个人资料图片作为字节 [] 发送到 Xamarin 应用程序,但 Xamarin 应用程序不显示它。
到目前为止,我已经尝试了来自不同平台的许多选项,包括这里,但仍然无法正常工作
我尝试将图像转换为 base 64 字符串,然后在使用显示之前将其转换回字节 []
imageProfilePic.Source = ImageSource.FromStream(() => new MemoryStream(base64Stream.ToArray()));
我尝试过的其他选项是直接使用数组创建内存流对象,我什至尝试将图像作为 base 64 字符串返回,然后将其转换为字节数组并用于创建新的 MemoryStream 来显示图像。
我开始认为 Xamarin 存在严重问题。
有没有办法我可以从 API 中只返回一个图像 URL,我认为这会是更好的选择,
我使用 EF Core 和 MS SQL 将图像作为 byte[] 数组存储在数据库中
【问题讨论】:
-
如果是base64数据,你必须先解码它,而不仅仅是将它转换为字节[]。您应该在下载后将图像数据写入文件以验证它是有效的图像数据。是的,您可以将图像的源分配给一个 url。
-
我已经尝试过了,但它不起作用。也许我应该尝试将其保存为文件并使用 ImageSource.From() 看看会发生什么。
-
可以,保存为文件再试一次,会更好。