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)

  • 相关阅读:
    deepin系统安装php扩展(或者统信UOS系统)
    前后端分离项目,访问后端接口跨域问题解决办法
    python打乱一个文件行数据
    python获取文件行数
    SQL进阶
    方便下载书籍网站
    gpuz软件下载
    U盘制作-安装win10系统
    docker -Docker安装FileBrowser实现网页版文件管理器
    OCP 063中文考试题库(cuug内部资料)第44题
  • 原文地址:https://www.cnblogs.com/liuchao102/p/5558690.html
Copyright © 2011-2022 走看看