解决 Java 文件下载后缀为.apk,下载完成变.zip

zzzzchen 的个人博客 记录精彩的程序人生 本文由博客端 https://www.dczzs.com 主动推送

在手机 Chrome 浏览器中访问接口下载使用 Java IO 流写的文件下载,下载的内容后缀为.apk 的 app 安装包,下载完成后后缀变为.zip。

电脑端的浏览器一直正常下载,没有去在意手机的浏览器,而且手机的浏览器我是用了 oppo 自带的浏览器和 QQ 浏览器都是正常下载的,直到后来用了 Chrome 浏览器时,发现下载的文件安装不了,点击后会跳转解压,而一些没有解压软件的手机会提示文件打不开等提示。

解决方案:

public void downloadApk(HttpServletResponse httpServletResponse) throws UnsupportedEncodingException {
        String filePath = "你自己的文件路径";
        File file = new File(filePath);
        httpServletResponse.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(file.getName(), "UTF-8"));
        httpServletResponse.setHeader("content-type", "application/vnd.android.package-archive");//增加了这行代码就可以在手机Chrome浏览器中访问接口下载APK了
        OutputStream out;
        try (InputStream in = new FileInputStream(filePath)) {
            int len;
            byte buffer[] = new byte[1024];
            out = httpServletResponse.getOutputStream();
            while ((len = in.read(buffer)) != -1) {
                out.write(buffer, 0, len);
            }
        } catch (Exception e) {
            logger.error("查看图片失败" + e.getMessage());
        }

转载至:https://blog.csdn.net/u013067891/article/details/82967961

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2920 引用 • 8120 回帖 • 671 关注

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...