首页 > 解决方案 > Xamarin:显示存储在本地 IIS 服务器上的图像

问题描述

我正在为 Android 实现一个 Xamarin 应用程序和一个 Web 应用程序 ASP.NET。Xamarin 应用使用 Web 应用的服务。目前,IIS 服务器在我的 PC 上本地运行,我正在我自己的设备(不是模拟器)上测试 Xamarin 应用程序。为了能够从我的智能手机访问服务器,我在 Visual Studio 中安装了 Conveyor,它允许远程访问开发 Web 服务器。

一切正常,Xamarin 应用程序可以使用 Web 服务。其中,Xamarin 应用程序将图像发送到服务器,服务器将它们存储在本地名为“Uploads”的文件夹中。

我面临的问题是在我的 Xamarin 应用程序中显示这些图像。首先,我向服务器询问存储到数据库中的图像路径。我得到的路径很好,就像:https ://192.168.1.25:45455/Uploads/myImage.jpg 。服务器 URL 很好,路径也很好。如果我将其复制到我的 PC 或智能手机上的浏览器中,我会得到图像。但是在我的 Xamarin 应用程序中,图像没有显示。在控制台中我有以下错误:

图像加载:获取https://192.168.1.25:45455/Uploads/myImage.jpg的流时出错:System.Net.Http.HttpRequestException:无法建立 SSL 连接,请参阅内部异常。---> System.Security.Authentication.AuthenticationException:身份验证失败,请参阅内部异常。---> Mono.Btls.MonoBtlsException: Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED at /Users/builder/jenkins/workspace/archive-mono/2019-10/android/release/external/boringssl/ssl/handshake_client .c:1132

我想这是一个证书问题,但我不明白为什么它在这种情况下不起作用,当我使用具有相同服务器 URL 的 Web 服务时一切正常:https ://192.168.1.25:45455/api/MyService .

我尝试了几件事,但未能成功。

标签: c#visual-studioxamariniisxamarin.forms

解决方案


我现在已经修好了。由于传送带,这确实是证书问题。要修复它,只需按照以下步骤操作:https ://conveyor.cloud/help/ssl 。


推荐阅读