zoukankan      html  css  js  c++  java
  • JAVA文件下载,页面显示另存为效果

    经过测试  firefox、QQ、IE 浏览器是可以的  chrome浏览器不行(直接下载了)

    1. 系统框架springmvc+jsp

    2. 后台servlet代码

    @RequestMapping("download")
        public void download(HttpServletRequest request,HttpServletResponse response){
            BufferedInputStream dis = null;
            BufferedOutputStream fos = null;
    
            String urlString = request.getParameter("urlString");
            String fileName = urlString.substring(urlString.lastIndexOf('/') + 1);
    
            try {
    
                URL url = new URL(urlString);
                //response.setContentType("application/x-msdownload;");
                response.setContentType("application/octet-stream");
                response.setHeader("Content-disposition", "attachment; filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1"));
                response.setHeader("Content-Length", String.valueOf(url.openConnection().getContentLength()));
    
                dis = new BufferedInputStream(url.openStream());
                fos = new BufferedOutputStream(response.getOutputStream());
    
                byte[] buff = new byte[2048];
                int bytesRead;
                while (-1 != (bytesRead = dis.read(buff, 0, buff.length))) {
                    fos.write(buff, 0, bytesRead);
                }
    
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (dis != null)
                    try{
                        dis.close();
                    }catch (Exception e){
                        e.printStackTrace();
                    }
                if (fos != null)
                    try{
                        fos.close();
                    }catch (Exception e){
                        e.printStackTrace();
                    }
    
            }
        }

    3. 页面jsp代码

    <input type="button" onclick="downloadImage()" value="下载">
    
    
    
    <script>
       function downloadImage(){
           var urlString = "http://pic32.nipic.com/20130829/12906030_124355855000_2.png";
           //跳转到后端控制器
           location.href="${ctx}/guest/download.do?urlString="+urlString;
       }
    </script>

    4. 下载效果1(firefox)

     下载效果2(QQ)

  • 相关阅读:
    js的继承实现方式
    jdbc调用通用存储过程完成分页
    最近在忙些什么......
    【转】说服下属的“攻心术”
    设计模式原则详解
    【转】职场学做“功夫熊猫”
    内核初始化优化宏 ,初始化顺序, __init,__devexit等
    Linux 嵌入式启动以及优化
    每个程序员都该知道的10大编程格言
    linux 用户空间 和 内核空间 延时函数
  • 原文地址:https://www.cnblogs.com/liuchao102/p/5558690.html
Copyright © 2011-2022 走看看