![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java 下载文件
慢生活的人生
代码让交流更便捷
展开
-
java 多excel下载 打成zip压缩包 程序中创建文件 响应到浏览器
在浏览器端点击下载,会下载一个zip压缩包,里面包含多个Excel文件 我暂且把从程序中下载压缩包分为三种类型,即三步下载,两步下载,一步下载。三步下载是指第一步先从数据库读取数据、写成文件,然后把文件们下载到本地磁盘;第二步是把文件们打成压缩包;第三步是把压缩包读取到程序中然后响应到浏览器。两步下载是指从数据库读取数据、写成文件再打成压缩包,然后把压缩包下载到本地磁盘,这是第一步;第二步是把压缩包读取到程序中然后响应到浏览器。一步下载是指程序从数据库读取数据、写成文件、转成流和响应到浏览器,都不用写到本原创 2016-10-27 10:53:18 · 1663 阅读 · 0 评论 -
java 多excel下载 打成zip压缩包 程序中创建文件 响应到浏览器(二)
2.两步下载特点:把多excel流直接生成到zip实体中,然后把压缩包保存到本地;把压缩包响应到浏览器优点:比三步下载少下载Excel文件,只需要把zip流输出到本地难点:ZipEntry的特性第一步:在程序内生成Excel文件,把数据流写入到zip实体中,把zip输出到本地磁盘(有标注:第一步);第二步:在磁盘读取zip文件,把文件流响应到浏览器端(有标注:第二步);原创 2016-10-27 13:43:37 · 2917 阅读 · 0 评论 -
java 多excel下载 打成zip压缩包 程序中创建文件 响应到浏览器(三)
过程:在程序中生成Excel文件们,放到ByteOutputStream中,再把该流放到byte[]数组中,然后把数组写到zipEntry中,最后把zip压缩包的流都缓存到新的ByteOutputStream中(ByteArrayOutputStream也可以),把新建的流转成byte[],并响应到浏览器。特点:文件在程序中生成;支持多文件格式暂用Excel为例优点:无需写到本地服务器,不占用磁盘资源难点:workBook的写出方式;zip实体的添加特性;IO流的特性原创 2016-10-27 15:48:46 · 3097 阅读 · 1 评论