广告
返回顶部
首页 > 资讯 > 精选 >JavaWeb项目中怎么实现一个文件压缩下载功能
  • 712
分享到

JavaWeb项目中怎么实现一个文件压缩下载功能

javawebava目中 2023-05-31 08:05:57 712人浏览 安东尼
摘要

本篇文章给大家分享的是有关javaweb项目中怎么实现一个文件压缩下载功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。实现思路有两种:一是将所有文件先打包压缩为一个文件,然后

本篇文章给大家分享的是有关javaweb项目中怎么实现一个文件压缩下载功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

实现思路有两种:

一是将所有文件先打包压缩为一个文件,然后下载这个压缩包,

二是一边压缩一边下载,将多个文件逐一写入到压缩文件中。

代码实现:

FileBean

public class FileBean implements Serializable {   private Integer fileId;// 主键   private String filePath;// 文件保存路径   private String fileName;// 文件保存名称   public FileBean() {   }   public Integer getFileId() {     return fileId;   }   public void setFileId(Integer fileId) {     this.fileId = fileId;   }   public String getFilePath() {     return filePath;   }   public void setFilePath(String filePath) {     this.filePath = filePath;   }   public String getFileName() {     return fileName;   }   public void setFileName(String fileName) {     this.fileName = fileName;   } }

控制层:

@RequestMapping(value = "/download", method = RequestMethod.GET)   public String download(String id, httpservletRequest request,       HttpServletResponse response) throws ioException {     String str = "";     if (id != null && id.length() != 0) {       int index = id.indexOf("=");       str = id.substring(index + 1);       String[] ids = str.split(",");       ArrayList<FileBean> fileList = new ArrayList<FileBean>();       for (int i = 0; i < ids.length; i++) {// 根据id查找genericFileUpload,得到文件路径以及文件名         GenericFileUpload genericFileUpload = new GenericFileUpload();         genericFileUpload = genericFileUploadService.find(Long.parseLong(ids[i]));         FileBean file = new FileBean();         file.setFileName(genericFileUpload.getFileName());         file.setFilePath(genericFileUpload.getFilePath());         fileList.add(file);       }       //设置压缩包的名字       //解决不同浏览器压缩包名字含有中文时乱码的问题       String zipName = "download.zip";       response.setContentType("APPLICATION/OCTET-STREAM");       response.setHeader("Content-Disposition", "attachment; filename="+ zipName);       //设置压缩流:直接写入response,实现边压缩边下载       ZipOutputStream zipos =null;       try{         zipos=new ZipOutputStream(new BufferedOutputStream(response.getOutputStream()));         zipos.setMethod(ZipOutputStream.DEFLATED);//设置压缩方法        }catch(Exception e){         e.printStackTrace();       }       DataOutputStream os=null;       //循环将文件写入压缩流       for(int i=0;i<fileList.size();i++){         String filePath=fileList.get(i).getFilePath();         String fileName=fileList.get(i).getFileName();         File file=new File(filePath+"/"+fileName);//要下载文件的路径         try{           //添加ZipEntry,并ZipEntry中写入文件流           //这里,加上i是防止要下载的文件有重名的导致下载失败           zipos.putNextEntry(new ZipEntry(i+fileName));           os=new DataOutputStream(zipos);           InputStream is=new FileInputStream(file);           byte[] b = new byte[100];           int length = 0;           while((length = is.read(b))!= -1){             os.write(b, 0, length);           }           is.close();           zipos.closeEntry();         }catch(Exception e){           e.printStackTrace();         }       }        //关闭流       try {         os.flush();         os.close();         zipos.close();       } catch (IOException e) {         e.printStackTrace();       }           }     return "redirect:list.jhtml";   }

以上就是JavaWEB项目中怎么实现一个文件压缩下载功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: JavaWeb项目中怎么实现一个文件压缩下载功能

本文链接: https://www.lsjlt.com/news/224521.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaWeb项目中怎么实现一个文件压缩下载功能
    本篇文章给大家分享的是有关JavaWeb项目中怎么实现一个文件压缩下载功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。实现思路有两种:一是将所有文件先打包压缩为一个文件,然后...
    99+
    2023-05-31
    javaweb ava 目中
  • 如何在JavaWeb项目中实现文件压缩下载功能
    本篇文章为大家展示了如何在JavaWeb项目中实现文件压缩下载功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。具体代码如下所示://文件名称    Stri...
    99+
    2023-05-31
    javaweb ava 目中
  • JavaWeb项目中怎么实现一个响应式下载功能
    今天就跟大家聊聊有关JavaWeb项目中怎么实现一个响应式下载功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。主要部分的代码<a href = ...
    99+
    2023-05-31
    javaweb ava 目中
  • Android开发中怎么实现一个下载zip压缩文件的功能
    今天就跟大家聊聊有关Android开发中怎么实现一个下载zip压缩文件的功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。下载:import java.io.BufferedInpu...
    99+
    2023-05-31
    android roi
  • C++项目基于HuffmanTree实现文件的压缩与解压缩功能
    目录前言1.文件压缩的概念2.为什么需要压缩3.压缩的分类4.压缩的方法二、HuffmanTree文件压缩与解压缩1.HuffmanTree的概念2.HuffmanTree的构建3....
    99+
    2022-11-12
  • 如何在PHP项目中利用Laravel实现一个文件下载功能
    如何在PHP项目中利用Laravel实现一个文件下载功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。download 方法可以用于生成强制让用户的浏览器下载指...
    99+
    2023-05-31
    php laravel
  • 在Android项目中使用OKHttp3怎么实现一个下载功能
    这篇文章给大家介绍在Android项目中使用OKHttp3怎么实现一个下载功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。app Module下的build.gradle,代码如下apply plugin: '...
    99+
    2023-05-31
    okhttp android roi
  • 如何在Java项目中利用FasfDFS实现一个文件上传下载功能
    本篇文章给大家分享的是有关如何在Java项目中利用FasfDFS实现一个文件上传下载功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一 : 添加配置文件当完成以上操作之后可以...
    99+
    2023-05-31
    fasfdfs java ava
  • 利用Servlet怎么实现一个文件下载功能
    本篇文章给大家分享的是有关利用Servlet怎么实现一个文件下载功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Web容器为Servlet生成并且传递的HttpServlet...
    99+
    2023-05-31
    servlet 一个文件
  • android开发中项目实现一个图片压缩功能并能指定大小
    android开发中项目实现一个图片压缩功能并能指定大小?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先是一个根据分辨率压缩的类,首先对图片进行一次压缩 ...
    99+
    2023-05-31
    android roi
  • dll文件怎么在JavaWeb项目中实现动态加载
    本篇文章为大家展示了dll文件怎么在JavaWeb项目中实现动态加载,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。第一步 建立一个监听类建立监听类的作用是在应用中间件启动时自动执行加载程序。1)创建...
    99+
    2023-05-31
    javaweb ava dll
  • Android项目中怎么实现一个检查更新、下载、安装功能
    本篇文章给大家分享的是有关Android项目中怎么实现一个检查更新、下载、安装功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。android检查更新、下载、安装MainAct...
    99+
    2023-05-31
    android roi 目中
  • vue项目实现文件下载进度条功能
    平时业务中下载文件方式常见的有俩种: 第一种,直接访问服务器的文件地址,自动下载文件; 第二种 ,服务器返回blob文件流,再对文件流进行处理和下载。 一般小文件适用于第一种下载方案...
    99+
    2022-11-12
  • HTML5中怎么实现一个图片压缩上传功能
    这篇文章给大家介绍HTML5中怎么实现一个图片压缩上传功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、创建一个图片和一个canvasXML/HTML Code复制内容到剪贴板va...
    99+
    2022-10-19
  • 怎么在shell中实现一个ftp上传下载文件功能
    怎么在shell中实现一个ftp上传下载文件功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1,建立主机A到其他三台主机之间的信任关系,以便于远程拷贝文件#生成主机A的本...
    99+
    2023-06-09
  • 怎么在HTML5中Blob利用实现一个文件下载功能
    怎么在HTML5中Blob利用实现一个文件下载功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。$("#exportAll").on(&qu...
    99+
    2023-06-09
  • 怎么在vue中使用django实现一个文件下载功能
    这篇文章将为大家详细讲解有关怎么在vue中使用django实现一个文件下载功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、概述在项目中,点击下载按钮,就可以下载文件。传统的下载链接一般...
    99+
    2023-06-14
  • 怎么在Android中利用DownloadManager实现一个文件下载功能
    本篇文章为大家展示了怎么在Android中利用DownloadManager实现一个文件下载功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android中DownloadManager实现文件下...
    99+
    2023-05-31
    android downloadmanager age
  • Java项目中使用 Servlet怎么实现一个文件分享功能
    本篇文章为大家展示了Java项目中使用 Servlet怎么实现一个文件分享功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。项目结构src com servletdemo Do...
    99+
    2023-05-31
    java servlet ava
  • 利用servlet怎么实现一个文件上传下载功能
    利用servlet怎么实现一个文件上传下载功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、准备工作:  1.1 文件上传插件:uploadify;  1.2 文件上传所需...
    99+
    2023-05-31
    servlet 一个文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作