需求内容:选择多条订单数据,将每条订单数据对应的图片下载至本地

要求:每条订单数据产生一个文件夹,并将此数据对应的图片批量下载至文件夹中,最后将所有文件夹打包zip文件下载至本地

代码实现如下:

@GetMapping("/downloadIamges")
@ApiOperation(value = "批量下载图片并生成zip文件")
@ApiImplicitParam(name = "ids", value = "以逗号隔开的字符串", dataType = "String", required = true)public void DounloadImage(@RequestParam(value = "ids") String ids, HttpServletRequest request, HttpServletResponse response) {//1.拿到对应图片地址List 根据实际情况修改此处List<Map<String, Object>> list = tibaoService.getImages(ids);//2.开始批量下载功能try {SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");//zip文件的名称 根据实际情况修改此处String downloadFilename = "战报合集" + sdf.format(new Date()) + ".zip";//转换中文否则可能会产生乱码downloadFilename = URLEncoder.encode(downloadFilename, "UTF-8");//指明response的返回对象是文件流response.setContentType("application/octet-stream");//设置在下载框默认显示的文件名response.setHeader("Content-Disposition", "attachment;filenamer" + downloadFilename);ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());for (Map<String, Object> e : list) {String[] s = e.get("fileurl").toString().split("/");try {URL url = new URL(e.get("fileurl").toString());//打开连接fiLeurlURLConnection con = url.openConnection();//设置请求超时为5scon.setConnectTimeout(5 * 1080);//输出的文件流 此处设置文件夹名称 根据实际情况修改此处File sf = new File(e.get("tibaoCode").toString() + ".-" + e.get("empMame") + "(" + e.get("empNo") + ")");//此处设置图片名称 根据实际情况修改此处zos.putNextEntry(new ZipEntry(sf.getPath() + "\\" + s[s.length - 1]));InputStream fis = url.openConnection().getInputStream();byte[] buffer = new byte[1024];int r = 0;while ((r = fis.read(buffer)) != -1) {zos.write(buffer, 0, r);}fis.close();} catch (IOException ioException) {zos.flush();zos.close();}}} catch (Exception e) {System.out.println(e);}}

java批量下载图片并打包成zip文件相关推荐

  1. java 批量下载图片并打包成zip压缩包

    项目需求: 对接第三方接口时,因为数据中存储的是图片链接,第三方审核时需要把所有图片以zip压缩包的方式传入到他们ftp服务中. 提示:以下是本篇文章正文内容,下面案例可供参考 话不多说直接看代码,案 ...

  2. java实现批量下载图片并打包成zip

    今天项目经理让做一个功能,就是批量下载图片,整体思路简单,但遇到了一个坑,需求是根据勾选的checkbox,点击下载按钮,弹出选择不同规格的图片对话框,并在下载完成后关闭对话框.坑就在下载完成后关闭对 ...

  3. Java实现批量下载图片,打包成zip压缩包

    /*** 批量下载图片后台逻辑* @return*/ @GetMapping("/downLoad") public void download(HttpServletReques ...

  4. php将文件夹打包zip文件,php将文件夹打包成zip文件

    php将文件夹打包成zip文件:function addFileToZip($path,$zip){ $handler=opendir($path); //打开当前文件夹由$path指定. while ...

  5. php 文件夹打包_php将文件夹打包成zip文件

    php将文件夹打包成zip文件:function addFileToZip($path,$zip){ $handler=opendir($path); //打开当前文件夹由$path指定. while ...

  6. java 批量下载图片,批量打包文件并下载

    1.批量下载网页上,动态生成的图片到服务器上指定的目录中 2.将目录中的所有的图片打包成zip包 3.删除原来的目录 4.下载zip包 1:由于网页上的图片是全部都是连接动态生成的,所以同事在网上找了 ...

  7. react——利用jszip实现文件批量下载并打包成zip文件

    本文章主要记录利用jszip实现文件批量下载图片,文档.mp3,视频(MP4)等文件,一般而言前端实现下载功能一般都是通过a链,这在下载单个文件的场景很实用,但如果是批量下载很多个文件,同样也可以用a ...

  8. java批量下载图片_Java批量写入文件和下载图片的示例代码

    很久没有在WhitMe上写日记了,因为觉着在App上写私密日记的话肯定是不安全的,但是想把日记存下来.,然后看到有导出日记的功能,就把日记导出了(还好可以直接导出,不然就麻烦点).导出的是一个html ...

  9. java 把文件打包成zip文件_java将文件或是文件夹打包压缩成zip格式

    导读热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.io.BufferedInputStream; impo ...

  10. Java批量下载图片和写入文件

    版权声明:本博客的所有原创内容皆为作品作者所有 转载请注明:来自ZJBLOG 链接:www.zjhuiwan.com 很久没有在WhitMe上写日记了,因为觉着在App上写私密日记的话肯定是不安全的, ...

最新文章

  1. R构建径向核支持向量机分类器实战代码(Radial kernel Support Vector Classifier)
  2. Linux基础:调查和管理进程
  3. 进入保护模式(三)——《x86汇编语言:从实模式到保护模式》读书笔记17
  4. 关于嵌入式系统内存地址空间的一些疑问(.text、.data、.bass、堆\栈空间)
  5. django 如何提升性能(高并发)
  6. 部署SAP UI5应用到ABAP服务器时,Webcontent path的determine逻辑
  7. python 进行一元线性回归并输出相关结果_Python实现一元线性回归实战
  8. intellij 快捷键_IntelliJ中的键盘快捷键
  9. JAVA中线程同步的方法
  10. Python语法糖——遍历列表时删除元素
  11. L2TP协议笔记1---L2TP概念及协议流程分析
  12. c++ mysql 写库 乱码 ??_mysql c++ 乱码 解决方法
  13. IPCamera可以通过BackChannel进行对讲?
  14. 中国桌面云三甲出炉,华为、深信服、安超云位居市场领导者
  15. 关于vs编译的程序无法正常启动(0xc0150002)的问题
  16. va_g729a编码库使用
  17. 【CC2640R2F】香瓜CC2640R2F之LCD
  18. 海洋CMS采集-内置接口的海洋CMS采集
  19. 字节字符流与错误的处理方法
  20. 相似度算法--莱文斯坦距离加入同义词逻辑

热门文章

  1. MySQL:BLOB/TEXT Column Used in Key Specification Without a Key Length
  2. 描写计算机硬件的英语作文,介绍关于电脑的英语作文
  3. 导出数据提示--secure-file-priv选项问题的解决方法
  4. 郭敏:什么是交通事件?如何做好交通事件管理以降低二次事故发生概率?
  5. 无法使用内置管理器打开计算机,win10系统无法使用内置管理员账户打开计算器的解决方法...
  6. 二十一世纪大学英语读写教程学习笔记(原文)——2 - Conversational Ballgames(对话风格与球类运动)
  7. Keytool命令来生成CA数字证书
  8. PDF页码怎么设置?如何给PDF文件设置页码
  9. CTGU实验5_2-创建还书罚款触发器
  10. 比特鹏哥网课笔记(结构体,枚举,联合体,通讯录项目)