/**
* 可用HTTP地址获取图片二进制 输出
*/
@RequestMapping(value = "/test")@ResponseBodypublic void test(HttpServletRequest request, HttpServletResponse response) {String t = "http://127.0.0.1:39090/oa/orderContractFile/202001/553f0479-6e8e-4ce0-a1b5-fbee8bf0fb4b.png";String packageName = "包名";try {@CleanupZipOutputStream out = new ZipOutputStream(response.getOutputStream());int j = 3;for (int i = 0; i < 2; i++) {//获得下载文件完整路径String downloadPath = t;out.putNextEntry(new ZipEntry("测试" + ++j + ".png"));//写入压缩包HttpResponse httpResponse = HttpRequest.get(downloadPath).execute();byte[] bytes = httpResponse.bodyBytes();out.write(bytes);}} catch (Exception e) {e.printStackTrace();}try {response.setCharacterEncoding("UTF-8");response.setContentType("application/zip;charset=utf-8");//获取浏览器名(IE/Chome/firefox)String userAgent = request.getHeader("User-Agent").toUpperCase();if (userAgent.contains("CHROME")) {// 谷歌packageName = new String(packageName.getBytes("UTF-8"), "ISO8859-1");} else if ((userAgent.contains("FIREFOX"))) {// firefox浏览器packageName = new String(packageName.getBytes("UTF-8"), "ISO8859-1"); } else if (userAgent.contains("MSIE")) {// IE浏览器packageName = URLEncoder.encode(packageName, "UTF-8");// IE浏览器
//                packageName = new String(packageName.getBytes("ISO8859-1"), "UTF-8");}else if (userAgent.contains("TRIDENT")){// iepackageName = URLEncoder.encode(packageName, "UTF-8");// IE浏览器}// 空格变 "+" 处理// packageName = URLEncoder.encode(prefix, "utf-8").replace("+","%20");response.setHeader("Content-Disposition", "attachment;filename=Papers.zip");//开始下载@CleanupByteArrayOutputStream os = new ByteArrayOutputStream();@CleanupInputStream is = new DataInputStream(new ByteArrayInputStream(os.toByteArray()));byte[] buff = new byte[1024];int lenn = 0;while ((lenn = is.read(buff)) != -1) {out.write(buff, 0, lenn);}} catch (Exception e) {e.printStackTrace();}}

文件打包zip 下载相关推荐

  1. 通过url地址批量打包zip下载文件

    通过url地址批量打包zip下载文件 controller @ApiOperation("通过下载url批量打包zip下载")@PostMapping("batchDow ...

  2. 大批量图片打包zip下载

    使用插件 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jq ...

  3. linux命令封装sh,shell脚本学习之调用脚本将文件打包zip的方法示例

    前言 本文主要给大家介绍的是关于调用脚本将文件打包zip的相关资料,分享出来供大家参考学习,下面来一起看看详细的介绍: 最近刚刚接触shell脚本,写了一点简单的练手.这里是用python调用脚本执行 ...

  4. 生成pdf文件并打包zip下载

    第一种写法,使用org.apache.tools.zip,具体流程: 1.逐个生成pdf文件 2.打包zip 3.下载 第二种写法,使用java.util.zip,这种写法没成功. 1.使用pdf文件 ...

  5. Asp.Net Web Api 2 实现多文件打包并下载文件示例源码

    前言 最近由于工作和个人事务,站点也好久没更新了,但这并不影响我对.NET的热情.站点的更新工作还是得想办法抽时间来完成的. 提要 今天利用中午的时间来写一篇关于Asp.Net Web Api下载文件 ...

  6. 文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件

    总结:                                                          使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文: ...

  7. 【java】 将服务器上文件夹上所有文件打包并下载

    功能要求:教师端要将学生上传的报告按班级进行打包下载. 前台HTML如下: <td align="right"><button class="layui ...

  8. java实现文件打包压缩下载接口(附上可实际运行的代码)

    最近在写项目接口,涉及到文件下载.打包压缩下载,单个文件下载还是比较简单的,多文件下载涉及到打包和压缩知识,之前也没做过,写篇博客做个简单的记录一下.闲言少叙,上代码: 如下代码是精简过后的测试代码, ...

  9. Ruoyi实现单文件上传和多文件打包压缩包下载

    目录 单文件上传篇 1.html 2.JS 3.Controller 3.1 Global.getProfile() 3.3.1 JarBasePath.getBaseJarPathStr() 3.2 ...

最新文章

  1. 最大后验概率和极大似然
  2. 算法提高课-搜索-双向广搜 AcWing 190. 字串变换:bfs、双向bfs、queue和unordered_map
  3. Elasticsearch聚合查询案例分享
  4. UI   控件 —UITextFile
  5. php 关闭oracle,CSS_ORACLE启动和关闭实例,实例启动和关闭:一.数 - phpStudy
  6. 读《一个程序猿的生命周期》有感
  7. error: stray '\343' in program 问题解决
  8. 【Python】Python库之网络应用开发
  9. google地图 反向地址解析(地址查询)
  10. 每个星座对应的天使。
  11. python统计数组元素个数_统计二维数组里元素的个数
  12. 在matlab中如何构建加权邻接矩阵,如何构建图像的加权邻接矩阵
  13. Kotlin基本类型
  14. AMP Roadshow技术分享路演中国专场报名开始了!
  15. 【Unity面试】 2022年Unity面试题分享 | 全面总结 | 建议收藏
  16. 入门Python需要掌握的技能有哪些?
  17. *oulapp的双向证书破解
  18. 安卓逆向009实战分析smali代码破解小游戏(贪吃蛇)
  19. python吃显卡还是内存不足_解决Pytorch 训练与测试时爆显存(out of memory)的问题
  20. 【Python】卡方检验

热门文章

  1. c语言一个小写字母字节,C语言:给定一个小写字母,转换成大写字母
  2. 十六进制转八进制(C语言版)
  3. 云数据库ClickHouse资源隔离 - 弹性资源队列
  4. 用友NC65产品portal新增按钮
  5. C#实现在CAD图纸中插入另一个DWG图块的代码
  6. Word转出来的PDF为什么有空白页?
  7. pandas数值型数据和非数值型数据统计
  8. 浏览器flash过期无法使用完美解决
  9. STM32定时器实现100毫秒保存一次数据到SD卡
  10. nixyx —— 一个小巧的项目工程/编译文件生成器(构建系统?)