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)

  • 相关阅读:
    HDU1251 字典树 这题亮点在于是我自己写的字典树
    POJ3253 哈夫曼树+小根堆 【自己实现】
    poj3083 深搜
    用c语言的感觉
    poj1321 深搜
    POJ 2488 深搜
    HDU2037 今年暑假不AC 贪心
    hdu1247 Hat’s Words 字符串模拟
    Thrift框架具体使用
    如何使用Rose将类图转化为java代码
  • 原文地址:https://www.cnblogs.com/liuchao102/p/5558690.html
Copyright © 2011-2022 走看看