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)

  • 相关阅读:
    需求墙,挺有创意
    产品分析套路
    复杂问题的拆解分析,有点意思
    xss如何加载远程js的一些tips
    一次有趣的XSS漏洞挖掘分析(3)最终篇
    一次有趣的XSS漏洞挖掘分析(2)
    一次有趣的XSS漏洞挖掘分析(1)
    Java和WebSocket开发网页聊天室
    Socket.IO聊天室~简单实用
    C语言基于GTK+Libvlc实现的简易视频播放器(二)
  • 原文地址:https://www.cnblogs.com/liuchao102/p/5558690.html
Copyright © 2011-2022 走看看