public void download(HttpServletRequest request, HttpServletResponse response){try {String downloadFilename = "中文.zip";//文件的名称downloadFilename = URLEncoder.encode(downloadFilename, "UTF-8");//转换中文否则可能会产生乱码response.setContentType("application/octet-stream");// 指明response的返回对象是文件流response.setHeader("Content-Disposition", "attachment;filename=" + downloadFilename);// 设置在下载框默认显示的文件名ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());String[] files = new String[]{"http://xxxx/xx.jpg","http://xxx/xx.jpg"};for (int i=0;i<files.length;i++) {URL url = new URL(files[i]);zos.putNextEntry(new ZipEntry(i+".jpg"));//FileInputStream fis = new FileInputStream(new File(files[i])); 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();  } zos.flush();    zos.close();} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} }

判断服务器上是否有相应的问文件:

String filePath="http://117.51.149.90/videos/"+paramsBean.getEventId()+".mp4";URL url = new URL(filePath);HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();String message = urlcon.getHeaderField(0);if (StringUtils.hasText(message) && message.startsWith("HTTP/1.1 404")) {//不存在map.put("videoPath", "");}else{//存在map.put("videoPath", filePath);}

判断服务器的方法存在问题:

由于是http地址就相当于每次都要请求服务器  极大的消耗性能和影响查询时间

优化:直接获取地址在服务器那边文件夹直接查询文件是否存在

String filePath = "/home/dc2-user/audi/apache-tomcat-8.5.35/webapps/images/"+fileName+"/" + paramsBean.getEventId() + ".mp4";File file =new File(filePath);if(file.exists()) {map.put("videoPath", filePath);}else {map.put("videoPath", "");}

java 将服务器的图片打包下载成.zip ,通过浏览器下载。相关推荐

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

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

  2. php 生成zip并下载,PHP 实现文件打包成zip格式并下载

    PHP 文件打包并下载 有个这样的需求,将多个文件打包成zip格式并下载到本地 可根据 ZipArchive这个类来实现此功能 我自己也研究了一下,然后把搞出来了 ,经测试绝对好用 话不多说直接上代码 ...

  3. 火狐浏览器 模拟人工重复操作_火狐浏览器下载手机版-火狐浏览器下载安装到手机v68.6.0...

    [火狐浏览器下载手机版]是一款非常热门的手机浏览器,西门手游网为用户提供火狐浏览器下载安装到手机,火狐浏览器下载手机版中有非常丰富的浏览器功能,让用户可以在浏览器中体验到多种多样的服务,带给用户可以轻 ...

  4. java 看书浏览器官_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过url预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

  5. Java将指定文件/文件夹压缩成zip、rar压缩文件

    import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream;import java.io.*; ...

  6. 用360浏览器java插件下载安装,360安全浏览器下载-360安全浏览器下载 v9.1.0.230 官方版...

    360安全浏览器下载 360安全浏览器官方下载2017是目前市面上最安全的浏览器,60安全浏览器拥有全国最大的恶意网址库和最新的拦截技术,可以在用户浏览网页时自动拦截木马病毒和诈骗等恶意网站,让用户能 ...

  7. 天翼云盘免下载客户端直接用浏览器下载的方法与教程突破限制浏览器网页直接下载文件无需安装客户端

    前言 如今的天翼云盘,各种限制也变得越来越多.今天教大家怎么免下载客户端下载分享的文件! 方法1(推荐) 首先用电脑浏览器,打开天翼云盘分享链接,然后登录自己的帐号.然后在分享链接页,按F12键,打开 ...

  8. Java导出多个excel并打包压缩成.zip文件

    1.先获取到数据,并将数据导出excel到指定位置 public void downPoliceZip(WorksitePoliceApiInfo worksitePoliceApiInfo) thr ...

  9. java 显示服务器的图片,【JavaWeb】实现读取本地服务器路径下的图片

    Servlet层代码: package com.ysw.demo; import javax.servlet.ServletException; import javax.servlet.Servle ...

  10. 我的世界起床战争java 版服务器_我的世界中国版起床战争下载-我的世界中国版起床战争服务器 _5577安卓网...

    我的世界中国版起床战争终于正式上线了,但是很多小伙伴都还存在只顾着一路狂奔的层面上,今天小编为大家带来我的世界中国版起床战争攻略,你的目标是,把敌人的床挖掉,然后杀死敌人,当你杀掉所有敌人时,你将获得 ...

最新文章

  1. Go 分布式学习利器(5)-- 数组和切片
  2. mysql like ilike_MySQLilike 子句
  3. promise使用promise进行判断网络状态
  4. 开发遇到的问题---【spring-security权限控制框架】
  5. 25行代码AC_ 2017年C/C++ A组第四题 方格分割(dfs剪痕+解题报告)
  6. java游戏编程源代码_JAVA小游戏编程-源代码
  7. java 8 sdk官方下载_Java SDK下载方法
  8. 数据结构c语言版第4版答案,严蔚敏版数据结构(C语言版)参考答案第四、五章
  9. 算法--职前算法复习
  10. uniapp快速开发微信、支付宝app支付
  11. 第6章 可编程并行通信接口8255A
  12. php公文流转管理系统,OA办公系统公文流转
  13. Fliqlo屏保mac
  14. BIOS调整服务器性能模式,BIOS优化性能提升明显 菜鸟必看的BIOS优化设置教程
  15. coq 函数式编程--Basics.v
  16. 数学三次危机(二)毕达哥拉斯学派的数学思想
  17. 录音自动上传到服务器,怎么实现手机录音之后,将录音的音频文件上传到服务器上...
  18. 关于微信小程序如何使用Vant组件
  19. 找呀找呀找朋友简谱用计算机弹,儿歌找朋友简谱_儿歌找朋友歌词歌谱
  20. 思科EtherChannel链路聚合

热门文章

  1. 智商测试图片素材软件,智商测试图片 测试你智商的图片[100P]
  2. 基于Matlab的数字水印设计
  3. ◎◎首都机场大巴最新路线时刻表◎◎
  4. html登陆没反应,ipad屏幕输入密码没反应
  5. im即时通讯开发:浅析MQTT通信协议
  6. 逆变器LCL滤波器参数设计(一)
  7. 查看oracle的SID
  8. 软件测试的基础知识(四)
  9. mysql 5.7 存储引擎_简述MySQL 7种存储引擎
  10. 创蓝云智短信接口发送短信函数