jayaugust 2015-05-25 12:21 采纳率: 66.7%
浏览 2076
已采纳

文件复制流下载文件,浏览器无反应,求助

文件夹是存在的,但是浏览器死活不弹出保存对话框

 String tempPath ="E:\\Studytools\\apache-tomcat-6.0.41\\webapps\\report\\uploads\\00000001_20150525190016.zip";
        System.out.println(tempPath);
        File file = new File(tempPath);
        /* 如果文件存在 */  
        if (file.exists()) {  
            String disName = URLEncoder.encode(file.getName(), "UTF-8");  
            response.reset();  
            response.setContentType("application/x-msdownload");  
            response.addHeader("Content-Disposition","attachment; filename=\"" + disName + "\"");  
            int fileLength = (int) file.length();  
            response.setContentLength(fileLength);  
            /* 如果文件长度大于0 */  
            if (fileLength != 0) {  
                /* 创建输入流 */  
                InputStream ins = new FileInputStream(file);  
                byte[] buffer = new byte[4096];  
                /* 创建输出流 */  
                ServletOutputStream ous = response.getOutputStream();  
                int readLength;  
                while (((readLength = ins.read(buffer)) != -1)) {  
                    ous.write(buffer, 0, readLength);  
                }  
                ins.close();  
                ous.flush();  
                ous.close();  
            } else{
                System.out.println("length is null");
            } 
        }else{
            System.out.println("not found");
        }
  • 写回答

2条回答 默认 最新

  • Go 旅城通票 2015-05-25 13:09
    关注

    你浏览器直接访问的servlet还是ajax?ajax可不会弹出保存对话框,要window.location='xxxx'来下载

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况