java实现文件下载

老子叫甜甜 提交于 2019-12-04 20:50:43

1、文件下载

        //获取当前浏览器类别
        String userAgent= request.getHeader("User-Agent");
        //附件信息
        String filwPath="C:\\测试附件.txt";
        String fileName=“测试附件.txt";
        
        //解决IE中文乱码
         // 针对IE或者以IE为内核的浏览器:
        if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {
            fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
        } else {
            // 非IE浏览器的处理:
            fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
        }
        
         //设置文件的类型
        response.setContentType("application/octet-stream");
        //设置编码
        response.setCharacterEncoding("UTF-8");

  
        response.setHeader("Content-disposition", "attachment; filename=" + fileName);
        
        FileInputStream fi = new FileInputStream(filwPath);
         //输出流
        OutputStream os = response.getOutputStream();
        byte[] bytes = new byte[4096];
        int length;
        while ((length = fi.read(bytes)) > 0){
            os.write(bytes, 0, length);
        }
        fi.close();
        os.flush();

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!