首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于下载的Spring操作在Android浏览器中不起作用

用于下载的Spring操作在Android浏览器中不起作用
EN

Stack Overflow用户
提问于 2016-10-31 05:04:24
回答 1查看 371关注 0票数 3

我正在使用JSP和Spring开发一个web应用程序。

在我的控制器中,我有一个下载APK文件的操作:

代码语言:javascript
运行
复制
@Controller("ApplicationController")
public class ApplicationController {
....

    @RequestMapping(value = "/getApp", method = RequestMethod.GET)
    public void getApp(HttpServletRequest request, HttpServletResponse response) {
        FileInputStream fis = new FileInputStream("D:\\test.apk");
        byte[] bytes = IOUtils.toByteArray(fis);
        response.setContentType("application/octet-stream");
        response.setHeader("Content-Disposition", "attachment; filename=test.apk");
        response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Expires", "0");
        response.getOutputStream().write(bytes);
        response.flushBuffer();
    }
 ....
}

在一个页面中,我有一个链接来调用这个操作:

代码语言:javascript
运行
复制
<a href="/getApp" target="_blank">Get App</a>

此链接适用于PC浏览器,但在Chrome等Android浏览器中使用时,下载失败。

添加:

在此之前,我通过SSL连接使用该链接,但我已经通过一个简单的http连接进行了测试,并且成功了。我认为这是我的SSL连接和Android下载管理器的一个问题!

任何帮助,我们都会提前表示感谢。

EN

回答 1

Stack Overflow用户

发布于 2016-11-06 07:54:37

几天后,作为总结,我想当我们在android浏览器中点击一个下载链接时,这个链接将由Android下载管理器(第三方应用程序)打开,因此这个应用程序无法通过SSL连接安全可靠地连接到我的服务器,因为没有经过验证的证书。

但是,我已经通过将下载HTTPS请求切换到HTTP请求来下载文件来解决我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40336832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档