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);
    }
    }






  • 相关阅读:
    CSV 文件的读写(函数)
    携带cookies请求github个人信息(类封装)
    网络和http协议理论
    思卡乐科技发布SR3系列RFID产品
    爱立信开始大规模mesh网络测试
    NB-IoT物联网,来了
    想象力是我们的局限,蓝牙5应用初探
    RFID电动车管理,智慧城市物联网建设的入口
    蓝牙模块选择经验谈
    RFID电动自行车与共享单车之物联网比较
  • 原文地址:https://www.cnblogs.com/niuniu0108/p/14177307.html
Copyright © 2011-2022 走看看