- 浏览: 733533 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
18335864773:
看了楼主写的用jxl生成excel。有地方用到了流,还特别强调 ...
jxl导出excel文件简单示例 -
shaoshou111:
查看Apache的并发请求数及其TCP连接状态netstat ...
Linux查看连接数,并发数 -
gengjunshi:
非常感谢哈,刚好在学webservice编程,很有用呢。
JAX-WS开发webservice示例详解 -
zcgewu:
encrypt2()和encrypt()有什么区别
JAVA实现AES加密 -
java爱好者92:
ireport的操作还是相对比较复杂的,帆软报表会相对简单一点 ...
iReport报表开发中常见的问题
设计思路:
通过业务表中照片编号获得需要下载的照片列表
把用户session、照片列表与zip名称 传入照片下载公共方法中。获得下载路径。
下载地址设计:
/photozip/时间(yyyyMMdd)/HHmmss_5位随机码zipType
业务调用例子:
通过业务表中照片编号获得需要下载的照片列表
把用户session、照片列表与zip名称 传入照片下载公共方法中。获得下载路径。
下载地址设计:
/photozip/时间(yyyyMMdd)/HHmmss_5位随机码zipType
HOME_PATH=D\:\\soft\\Tomcat6\\virtualdir\\photo DOWNPHOTO_PATH=/photozip DOWN_TYPE_ZIP=/zip/
package com.jsict.httptransfer.comm; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.util.Date; import java.util.List; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream; import com.jshx.ictjs.httptransfer.utils.DateTools; import com.jsict.ictmap.common.PropertiesManager; import com.jsict.ictmap.util.StringUtil; import com.jsict.ictmapmodule.custom.entiry.AttachmentBean; /** * 打包下载图片 * @author duanpf */ public class DownPhotoUtil { protected final Log logger = LogFactory.getLog(getClass()); public String zipPath = ""; //压缩路径+文件 public String zipFile = ""; //压缩路径 public String downLoad = ""; //下载路径 /** * 下载图片 * @param list AttachmentBeanList * @param zipType .zip * @return 图片下载地址 * @throws Exception */ public String downPhoto(List list,String zipType) throws IOException{ if(StringUtil.isEmpty(zipType)){ zipType = ".zip"; } String photoPath = PropertiesManager.getProperty("common.properties", "HOME_PATH"); String zipTitle = createFile(photoPath); for (int i = 0; i < list.size(); i++) { AttachmentBean photo = (AttachmentBean) list.get(i); String path = photoPath + photo.getFilePath(); logger.info("=============path["+i+"]="+path); copyFileToLocal(path, zipPath + "/" + photo.getName()); } // 判断目录是否存在,不存在创建 logger.info("压缩包存放路径:" + zipPath + "\n"); String downPhotoPath = zipFile + "/" + zipTitle + zipType; //压缩文件路径 zip(zipPath, downPhotoPath); //deleteFile(zipPath); return downLoad + "/" + zipTitle + zipType; } /** * 保存文件 * @param userSession 用户session * @param photoPath 图片绝对路径 * @return * @throws IOException */ public String createFile(String photoPath) throws IOException{ String savePath = ""; //年月日 String saveDate=DateTools.parseDate2Str(new Date(), "yyyyMMdd"); savePath = savePath + "/" + saveDate; String fileDate=DateTools.parseDate2Str(new Date(), "HHmmss"); int ronNum = (int)(Math.random()*100000); downLoad = PropertiesManager.getProperty("common.properties", "DOWNPHOTO_PATH") +savePath; zipFile = photoPath + downLoad; zipPath = zipFile + "/" + (fileDate + "_" + ronNum); File file = new File(zipPath); if (!file.exists()) { file.mkdirs(); } return fileDate + "_" + ronNum; } /** * * 方法说明:删除指定文件路径下的文件 * * @param targetPath * :目标文件路径 * @return 返回值类型 * @Exception 异常对象 * */ public void deleteFile(String targetPath) throws IOException { File targetFile = new File(targetPath); if (targetFile.isDirectory()) { FileUtils.deleteDirectory(targetFile); } else if (targetFile.isFile()) { targetFile.delete(); } } /** * 把inputFileName下的文件压缩到zipFileName对应路径 * * @param inputFileName * 需压缩的文件(夹)路径 * @param zipFileName * 压缩后生成压缩文件名 * @throws Exception */ public void zip(String inputFileName, String zipFileName) throws IOException { zip(zipFileName, new File(inputFileName)); } public void zip(String zipFileName, File inputFile) throws IOException { ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName)); zip(out, inputFile, ""); out.close(); } public void zip(ZipOutputStream out, File file, String base) throws IOException { if (file.isDirectory()) { File[] fl = file.listFiles(); out.putNextEntry(new ZipEntry(base + "/")); out.setEncoding("gbk"); base = base.length() == 0 ? "" : base + "/"; for (int i = 0; i < fl.length; i++) { zip(out, fl[i], base + fl[i].getName()); } } else { out.putNextEntry(new ZipEntry(base)); out.setEncoding("gbk"); FileInputStream in = new FileInputStream(file); int b; while ((b = in.read()) != -1) { out.write(b); } in.close(); } } /** * 将文件拷到clientPath指定文件夹下 * * @param fileFrom * 远程文件路径 * @param fileTo * 本地路径 * @return */ public void copyFileToLocal(String fileFrom, String fileTo) { try { if (fileTo.indexOf('.')<0){ //不包含 String[] fileFromSplit = fileFrom.split("\\."); String fileFromSplitStr = fileFromSplit[fileFromSplit.length-1]; fileTo=fileTo+"."+fileFromSplitStr; } FileInputStream in = new FileInputStream(fileFrom); FileOutputStream out = new FileOutputStream(fileTo); byte[] bt = new byte[1024]; int count; while ((count = in.read(bt)) > 0) { out.write(bt, 0, count); } in.close(); out.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
业务调用例子:
public String downPhoto()throws Exception { List<AttachmentBean> list = null; String zipType = ".zip"; DownPhotoUtil dp= new DownPhotoUtil(); try { downPhotoPath = "图片下载失败"; if (list != null && list.size() > 0) { downPhotoPath = dp.downPhoto(list, zipType); } logger.info("压缩包下载路径:" + downPhotoPath); } catch (Exception e) { downPhotoPath = "图片下载失败"; } return "downPhoto"; }
发表评论
-
nginx反向代理后,打开页面很慢
2020-05-26 11:26 5169nginx反向代理后,打开页面很慢 在做前后端完全分离的 ... -
【国】前后端国际化的问题
2020-04-23 17:21 1006前端有国际化,但是后端service无法使用国际化。 原 ... -
父页面与子页面的相互调用
2017-12-14 14:51 2566一、在页面里用 open ... -
(转)Java jacob调用打印机打印word文档
2017-12-01 17:33 3759折腾了好久,最终决定由用一个第三方的,找到了jacob,还不 ... -
Spring国际化动态配置
2017-07-11 17:31 1768代码下载 http://pan.baidu.com/s/1 ... -
谷歌浏览器如何支持 object
2017-01-23 11:01 1937把附件中的文件拖入谷歌浏览器中地址栏(需要在扩展程序 中打 ... -
BIRT参数设置详解
2016-05-18 15:15 4398在使用birt报表的时候感 ... -
gson的使用分享
2016-01-15 13:48 1833一、 最基本的对象与JSON相互转换 1、 定义java对象 ... -
(转)FindBugs规则整理
2015-12-18 10:40 6615FindBugs是基于Bug Patterns ... -
利用Data URL(data:image/jpg;base64,)将小图片生成数据流形式
2015-11-20 18:09 2324先看一段代码: <img src="da ... -
Gson注解和GsonBuilder
2015-04-07 11:49 1695//注意这里的Gson的构建方式为GsonBuilder, ... -
Spring AOP 的@Aspect (转)
2015-03-03 15:50 905从Spring 2.0开始,可以使用基于schema及@As ... -
Hibernate一对多和多对一关系详解 (转载)
2014-07-10 17:00 1838双向一对多关系,一是关系维护端(owner side),多是关 ... -
Struts2的Action如何交给spring来管理
2014-07-10 11:35 852我的Action是 <package name=&qu ... -
javax.xml.ws.soap.SOAPFaultException: Cannot create a secure XMLInputFactory
2014-06-04 20:26 1813javax.xml.ws.soap.SOAPFaultExce ... -
html静态页面中获取请求参数和参数值
2014-05-09 16:50 2322通过Location对象的search属性,可以获得从URL中 ... -
jsp 文体编辑器
2014-04-29 11:33 956首先,需要加载fck的jar包 在resource中加入fck ... -
jquery传参数
2014-03-20 10:21 612var param =$("#myform" ... -
获得请求IP
2013-12-06 14:18 1112在AbstractInterceptor中 Action ... -
s:select 用法
2013-10-23 14:53 5170在jsp页面 <s:select lis ...
相关推荐
"820张网页背景图片打包下载"提供了一大批素材,对那些正在寻找网页设计灵感或者需要快速应用背景图像的开发者来说,无疑是一份宝贵的资源。 这820张背景图片涵盖了各种风格和主题,可能包括抽象图案、自然景观、...
本文将围绕“10张粉红色清爽PPT背景图片打包下载.rar”这一主题,深入探讨与之相关的知识点。 首先,粉红色在PPT设计中的应用:粉红色通常给人带来温馨、柔和和浪漫的感觉,它能吸引观众的注意力,同时又不会过于...
适用场景:一键将页面上的全部图片打包下载,纯前端实现。 使用插件:jszip.js、filesaver.js、jquery 下载后直接用chrome、firefox、IE11+打开即可查看效果,仅供学习参考。
【标题】"3D小人精选商务素材图片打包下载.rar" 涉及的主要知识点是3D图形设计、商务图像应用以及素材资源的管理和下载。3D小人,即三维立体的人物模型,常用于各种设计项目,特别是商务场景中,如演示文稿、宣传...
本案例中,我们讨论的是一个名为"清明节背景图片打包下载.rar"的压缩文件,它包含了与清明节相关的幻灯片背景图片。RAR是一种常见的文件压缩格式,由WinRAR软件创建,用于将多个文件打包成一个更便于存储和传输的...
本次分享的资源是"48张3D小人高清图片打包下载",它包含了一系列高质量的3D人物图像,非常适合用作网页设计、PPT制作以及其他视觉表现项目的素材。 首先,我们要了解3D小人图片的制作技术。3D建模是计算机图形学的...
"适合做PPT背景的图片打包下载"这个资源提供了这样一批图片,它们的特点是干净、简洁,不含有过于华丽的元素,多采用淡色调,旨在创造一个专业且不失优雅的展示环境。 首先,我们来了解一下选择PPT背景图片时应考虑...
在这个场景下,"24张花草植物绿色背景图片打包下载.rar"是一个典型的例子,它包含了24张与花草植物相关的绿色背景图片,这些图片可能是用于制作PPT(PowerPoint)演示文稿、网页设计、平面设计或个人桌面壁纸等多种...
【标题】"纽扣女孩素材 图片打包下载"所涵盖的知识点主要集中在图像设计和素材应用领域。这个标题表示提供了一组与“纽扣女孩”主题相关的图片素材,这些素材通常用于各种创意设计项目,如平面广告、网页设计、社交...
本资源是一个名为"十张可爱卡通幻灯片背景图片打包下载.rar"的压缩文件,提供了10张以可爱卡通为主题的幻灯片背景图像,特别适合用于与儿童、小朋友相关的主题演讲或教学活动。 首先,我们来深入了解一下.PPT格式。...
3. 方便管理:将图片打包成压缩文件,便于用户整理和存储,节省硬盘空间。 4. 快速分享:打包后的文件体积相对较小,更易于通过电子邮件或其他方式快速分享。 如何处理压缩包中的PNG图片: 1. 解压文件:首先需要...
2013端午节相关素材图片打包下载
"11张中国风水墨背景图片打包下载.rar" 是一个集合了11张高质量的中国风水墨背景图片的压缩包文件,专为幻灯片制作或其他设计工作提供素材。这个资源尤其适合那些希望在设计中融入中国传统美学元素的设计师或个人。 ...
标题中的“11张蓝色PPT背景图片打包下载.rar”表明这是一个包含11个蓝色主题PPT背景图像的压缩文件,格式为RAR,通常用于集合多个文件并减小存储空间。这种类型的资源常被用于制作专业或正式的PowerPoint演示文稿,...
"11张橙色背景图片打包下载.rar"是一个压缩包文件,它包含11个专门设计用于PowerPoint演示文稿的橙色背景图片。这些图片可能是为了吸引观众注意力、传达积极和活力的氛围,或者是作为设计主题的一部分。 橙色在色彩...
在本资源中,我们主要关注的是一个与情人节相关的素材包,标题为“情人节精美祝福图片打包下载”。这个压缩包显然包含了一系列精心设计的图片,专为庆祝情人节而准备。这些图片可能适用于各种场合,如社交媒体分享、...
"30张适合做PPT背景图片的虚光淡雅图片打包下载.rar" 提供了一组精心挑选的图片资源,旨在为你的幻灯片设计增添专业且美观的元素。这些图片的特点是虚光与淡雅的结合,这种风格能够营造出一种清新、简洁的视觉效果,...
标题 "jquery打包,生成并下载zip文件" 描述了一个使用jQuery技术在前端将图片文件打包成ZIP文件并供用户下载的场景。这个过程无需后端服务器的介入,从而减轻了服务器的压力并提高了用户体验。让我们详细了解一下这...
"25张女生喜欢的PPT背景图片打包下载.rar"是一个压缩文件,其中包含了25张专为女性受众设计的PPT背景图片。这些图片通常具有柔和的色彩、优雅的图案或者符合女性审美喜好的元素,能够为PPT增加视觉吸引力,提升整体...