zoukankan      html  css  js  c++  java
  • springboot 文件打包下载

    BufferedInputStream bufferedInputStream = null;
    ZipOutputStream zipOutputStream = null;
    OutputStream outputStream = null;
    try {
    outputStream = response.getOutputStream();
    response.reset();
    response.setHeader("Content-Disposition",
    "attachment;filename=" + new String(fileName.getBytes("UTF-8"), "iso-8859-1"));
    response.setHeader("Access-Control-Allow-Origin", "*");
    response.setContentType("application/octet-stream; charset=utf-8");
    response.setCharacterEncoding("UTF-8");
    zipOutputStream = new ZipOutputStream(outputStream);
    String filePath = "E:\ChromeDownLoad\11.png";
    File file = new File(filePath);
    if (file.exists()) {
    fileCount--;
    // 创建ZIP实体,并添加进压缩包 (这里可能会有重名问题,需要加个标识)
    ZipEntry zipEntry = new ZipEntry(UUID.randomUUID().toString() + "_" + "11.png");
    zipOutputStream.putNextEntry(zipEntry);
    // 读取待压缩的文件并写进压缩包里
    bufferedInputStream = new BufferedInputStream(new FileInputStream(file), 1024 * 10);
    int len;
    // 定义每次读取的字节数组
    byte[] buffer = new byte[1024];
    while ((len = bufferedInputStream.read(buffer)) != -1) {
    zipOutputStream.write(buffer, 0, len);
    }
    }

    zipOutputStream.flush();
    zipOutputStream.close();
    } catch (IOException e) {
    throw new RuntimeException(e);
    } finally {
    // 关闭流
    try {
    if (null != bufferedInputStream) {
    bufferedInputStream.close();
    }
    if (null != zipOutputStream) {
    zipOutputStream.close();
    }
    if (null != outputStream) {
    outputStream.close();
    }
    } catch (IOException e) {
    log.error("IOException occureds...", e);
    }
    }






  • 相关阅读:
    Locust性能测试-环境准备与基本使用 转自:悠悠
    Locust性能测试_先登录场景案例
    python_协程
    python_进程池以及线程池
    python_并发与通信
    python_进程与线程的补充
    python_并行与并发、多线程
    Hash算法:双重散列
    AVL树的插入和删除
    查找最小生成树:普里姆算法算法(Prim)算法
  • 原文地址:https://www.cnblogs.com/niuniu0108/p/14177307.html
Copyright © 2011-2022 走看看