目录

zzzzchen 的个人博客

记录精彩的程序人生

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

在手机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文件下载后缀为.apk,下载完成变.zip
作者:zzzzchen
地址:https://dczzs.com/articles/2021/04/28/1619605399576.html