java - spring 4.+ 利用reponse 下载文件看不到文件到底有多大,但是能下载成功 ?

 莪鈈稀罕rn 发布于 2022-10-25 08:31

框架: spring 4.3

下载的代码:

            String path = android.getPath();
            File file = new File(request.getServletContext().getRealPath("/"), path);
            if (file.exists()) {
                FileInputStream in = null;
                try {
                    response.setContentType("multipart/form-data");
                    response.setHeader("Content-Disposition", "attachment;filename=" + android.getApkName());
                    in = new FileInputStream(file);
                    IOUtils.copy(in,response.getOutputStream());
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    IOUtils.closeQuietly(in);
                }
            }

就上面的这段代码在主流的浏览器(包括手机浏览器)基本都是没有问题的,
但是在手机QQ打开这个下载地址的时候,虽然也能够下载,但是看不到文件总共有多大,
类似 :

正在下载文件

app.apk
5MB | 0.00B  500kb/s

(脑补下画面),下载下来安装也是没有问题的,所以上面的代码可以存在一些问题,所有特来此求助各位好汉 ?

1 个回答
  • 加上一句 response.setHeader("Content-Length", file.length()) 再试试

    2022-10-26 14:36 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有