• 文件下载


    @RequestMapping("/download")
    public String download( String fileName ,String filePath, HttpServletRequest request, HttpServletResponse response){

    response.setContentType("text/html;charset=utf-8");
    try {
    request.setCharacterEncoding("UTF-8");
    } catch (UnsupportedEncodingException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }

    java.io.BufferedInputStream bis = null;
    java.io.BufferedOutputStream bos = null;

    String downLoadPath = filePath; //注意不同系统的分隔符
    // String downLoadPath =filePath.replaceAll("/", "\\\\"); //replace replaceAll区别 *****
    System.out.println(downLoadPath);

    try {
    long fileLength = new File(downLoadPath).length();
    response.setContentType("application/x-msdownload;");
    response.setHeader("Content-disposition", "attachment; filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1"));
    response.setHeader("Content-Length", String.valueOf(fileLength));
    bis = new BufferedInputStream(new FileInputStream(downLoadPath));
    bos = new BufferedOutputStream(response.getOutputStream());
    byte[] buff = new byte[2048];
    int bytesRead;
    while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
    bos.write(buff, 0, bytesRead);
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    if (bis != null)
    try {
    bis.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    if (bos != null)
    try {
    bos.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    return null;
    }
  • 相关阅读:
    【23设计模式】总结
    【JAVA】内部类,内部接口
    【JAVA】接口
    【JAVA】抽象类,抽象方法
    【JAVA】类加载器
    【JAVA】枚举
    【JAVA】序列化
    【JAVA】异常笔记
    汇编笔记_第十一章
    汇编笔记_第十章
  • 原文地址:https://www.cnblogs.com/cuiguangpeng/p/11539547.html
Copyright © 2020-2023  润新知