Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓浏览器don';t从HTTPS自签名认证服务器下载文件_Android_Spring_Browser_Download - Fatal编程技术网

Android 安卓浏览器don';t从HTTPS自签名认证服务器下载文件

Android 安卓浏览器don';t从HTTPS自签名认证服务器下载文件,android,spring,browser,download,Android,Spring,Browser,Download,我们有一个tomcat Web应用程序,该应用程序已通过认证。当用户点击“帮助”按钮时,就会下载pdf文件,在pc浏览器中,它可以工作,但在android系统中,它会在指定时间内保持下载状态 我在Spring控制器中使用以下代码: URL url = servletContext.getResource("/manual/Manual.pdf"); response.setHeader("Content-Disposition", "attachment; filename=\"Manual.

我们有一个tomcat Web应用程序,该应用程序已通过认证。当用户点击“帮助”按钮时,就会下载pdf文件,在pc浏览器中,它可以工作,但在android系统中,它会在指定时间内保持下载状态

我在Spring控制器中使用以下代码:

URL url = servletContext.getResource("/manual/Manual.pdf");

response.setHeader("Content-Disposition", "attachment; filename=\"Manual.pdf\"");
response.setContentType("application/octect-stream");
response.setContentLength(url.getFile().length());


try
{
        InputStream fis = url.openStream();
        OutputStream out = response.getOutputStream();
        IOUtils.copy(fis, out);
        out.flush();

}catch(IOException ioe)
{
        logger.error(ioe);
}
我们正在使用https和端口9443

我在android的logcat中发现了这个错误:

Application: android.process.media
Tag: DownloadManager
Text: Aborting request for download 23: 
      while trying to execute request: javax.net.ssl.SSLHandshakeException: 
      java.security.cert.CertPathValidatorException: 
      Trust anchor for certification path not found.

感谢您的帮助。

证明证书出现了问题,因为它是自动生成的。我们使用HTTP而不是HTTPS进行下载,这很有效:D

您是否检查了android设备的时间设置是否正确?我遇到了类似的SSL问题,并通过修复我的设备时钟解决了它。是的,时间是正确的,我使用模拟器,时间配置相同。服务器也有相同的时间。错误中显示“找不到证书路径的信任锚点”。您可能需要检查您的认证路径,这可能是服务器问题,而不是客户端问题。现在的浏览器非常聪明,可以解决任何编码问题之类的问题。你可能有一个损坏的证书url。是的,看起来是这样,但网站运行良好,只有当我点击获取pdf时问题才会发生,在pc浏览器(使用chrome测试)中工作良好正如我所说,我遇到过类似的问题,虽然我在浏览器上没有问题,但我的客户端应用程序内部有问题。如今,大多数编码问题都被常见的浏览器所覆盖。您可以检查url上是否有额外的空白或任何内容。