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)

  • 相关阅读:
    PAT Basic Level 1013
    PAT Basic Level 1012
    PAT Basic Level 1011
    PAT Basic Level 1009
    PAT Basic Level 1010
    PAT Basic Level 1008 *
    PAT Basic Level 1007 *
    .NET Entity Framework入门简介及简单操作
    SQL Server 查询处理中的各个阶段(SQL执行顺序)
    泛型优点和特性
  • 原文地址:https://www.cnblogs.com/liuchao102/p/5558690.html
Copyright © 2011-2022 走看看