zoukankan      html  css  js  c++  java
  • 网页文件下载

    前台 jsp 
    function downVideo(value,row,index){
     return '<a href="<%=basePath%>admin/video/video!fileDown.ds?uname='+row.uname+'&filepath='+value+'">下载</a>';
    }
    后台java :
    action:
     public void fileDown() {
       FileUtil.download(filepath, getRequest().getParameter("uname")+filepath.substring(filepath.lastIndexOf("."),filepath.length()), getResponse());
      }
    FileUtil:
    public static void download(String filepath, String filename, HttpServletResponse response) {
            response.setContentType("application/x-download;charset=utf-8");
            OutputStream outp = null;
            FileInputStream in = null;
            try {
                response.addHeader("Content-Disposition", "attachment;filename="+new String(filename.getBytes("gbk"),"ISO-8859-1"));
             
                in = new FileInputStream(ServletActionContext.getServletContext().getRealPath("/")+filepath);
                outp = response.getOutputStream();
            } catch (UnsupportedEncodingException e1) {
                e1.printStackTrace();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            byte[] b = new byte[1024];
            int i = 0;
            try {
                while ((i = in.read(b, 0, 1024)) != -1) {
                    outp.write(b, 0, i);
                    outp.flush();
                }
             
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (in != null) {
                    try {
                        in.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    in = null;
                }
                if (outp != null) {
                    outp = null;
                }
            }
        }
     
  • 相关阅读:
    spring二级缓存的ehcache 的 配置文件
    C/C++联合(Union)浅谈
    C++技巧之名字空间namespace
    VC动态调用DLL的调试方法
    在C++中调用DLL中的函数
    VS编译debug模式静态库(lib)的结尾_d修改
    bash: chkconfig: command not found
    Linux在防火墙中开放SVN端口
    VIM选择文本块/复制/粘贴
    svnserve.conf:12: Option expected的问题解决方法[SVN]
  • 原文地址:https://www.cnblogs.com/loveweiwei/p/4135453.html
Copyright © 2011-2022 走看看