• javaweb简单的实现文件下载


    public HttpServletResponse download(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    //解决乱码问题
    String path = new String(request.getParameter("filepath").getBytes("ISO8859-1"),"utf-8");
    String filename = "";
    if(path != null){ //分割字符串,获取文件名称
    String file[] = path.split("\\");
    filename = file[file.length-1];
    }
    //注意这里的路径必须是文件的全路径,如果是文件夹的话就会报错拒绝访问
    // String path = "D:\idea_workspase\jeesite\target\jeesite\my\周工作总结-软件部(5).xlsx";
    try {
    // path是指欲下载的文件的路径。
    File file = new File(path);
    // 取得文件名。
    // String filename = file.getName();
    // String filename = "周工作总结-软件部(5).xlsx";
    // 取得文件的后缀名。
    String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();

    // 以流的形式下载文件。
    InputStream fis = new BufferedInputStream(new FileInputStream(path));
    byte[] buffer = new byte[fis.available()];
    fis.read(buffer);
    fis.close();
    // 清空response
    response.reset();
    // 设置response的Header
    // response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
    response.setHeader( "Content-Disposition", "attachment;filename=" + new String( filename.getBytes("GBK"), "ISO8859-1" ) );
    response.addHeader("Content-Length", "" + file.length());
    OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
    response.setContentType("application/octet-stream");
    toClient.write(buffer);
    toClient.flush();
    toClient.close();
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    return response;
    }
  • 相关阅读:
    Delphi 访问https /SSL、OpenSSL
    Delphi UTF编码/解码 UTF8Encode、UTF8Decode、URLEncode、URLDecode
    编译器架构Compiler Architecture(下)
    编译器架构Compiler Architecture(上)
    Xilinx Zynq FPGA Boards板
    如何为应用选择最佳的FPGA(下)
    如何为应用选择最佳的FPGA(上)
    FPGA与ASIC:它们之间的区别以及使用哪一种?
    ASIC设计-终极指南
    77GHz 和24GHz Radar性能解析
  • 原文地址:https://www.cnblogs.com/zhouheblog/p/9632687.html
Copyright © 2020-2023  润新知