1、批量下载网页上,动态生成的图片到服务器上指定的目录中

2、将目录中的所有的图片打包成zip包

3、删除原来的目录

4、下载zip包

1:由于网页上的图片是全部都是连接动态生成的,所以同事在网上找了一个下载动态连接的图片的方法。

/**

* @param urlAdd (url地址,及网页中的动态链接的地址)

* @param fileName(生成文件的名称)

* @throws uploadDir(生成到服务器端指定的目录)

*/

public static void createImage(String urlAdd, String fileName, String uploadDir) throws Exception {

URL url = new URL(urlAdd);

Image src = javax.imageio.ImageIO.read(url); // 构造Image对象

int wideth = src.getWidth(null); // 得到源图宽

int height = src.getHeight(null); // 得到源图长

BufferedImage tag = new BufferedImage(wideth, height, BufferedImage.TYPE_INT_RGB);

tag.getGraphics().drawImage(src, 0, 0, wideth, height, null); // 绘制缩小后的图

FileOutputStream out = new FileOutputStream(uploadDir.concat(fileName).concat(".jpg")); // 输出到文件流

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

encoder.encode(tag); // 近JPEG编码

out.close();

}

2:打包指定的目中的文件为zip包。其中解决了文件中文乱码的问题,引入一个jar包truezip-6.6.jar,可以到http://download.csdn.net/source/1076475下载

/**

* @param inputFileName

* @param zipFileName

* @throws Exception

*/

public static void zip(String inputFileName, String zipFileName) throws Exception {

zip(zipFileName, new File(inputFileName));

}

public static void zip(String zipFileName, File inputFile) throws Exception {

ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName), "GBK");

zip(out, inputFile, "");

// System.out.println("zip done");

out.close();

}

public static void zip(ZipOutputStream out, File f, String base) throws Exception {

if (f.isDirectory()) {

File[] fl = f.listFiles();

out.putNextEntry(new ZipEntry(base + "/"));

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));

FileInputStream in = new FileInputStream(f);

int b;

// System.out.println(base);

while ((b = in.read()) != -1) {

out.write(b);

}

in.close();

}

}

3:打包完成后删除原来的目中的文件

其中import org.apache.commons.io.FileUtils;

public static void deleteFile(String targetPath) throws IOException {

File targetFile = new File(targetPath);

if (targetFile.isDirectory()) {

FileUtils.deleteDirectory(targetFile);

} else if (targetFile.isFile()) {

targetFile.delete();

}

}

4、在页面中显示生成包的地址,让客户点击下载即可。

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

  1. mysql 线程池 下载_java线程池实现批量下载文件

    本文实例为大家分享了java线程池实现批量下载文件的具体代码,供大家参考,具体内容如下 1 创建线程池 package com.cheng.webb.thread; import java.util. ...

  2. java发送html附件_Java发送邮件(图片、附件、HTML)

    一.简介 要在网络上实现邮件功能,必须要有专门的邮件服务器.这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中. SMTP服务器地址: 一般是 ...

  3. java图片轮播_java制作广告图片自动轮播控件

    首页图片的轮播 /** * 广告图片自动轮播控件 * */ public class ImageCycleView extends LinearLayout { /** * 上下文 */ privat ...

  4. java给图片加水印_java如何给图片加水印

    最近研究一下java如何给上传的图片加上水印,专门为这个功能写了一个方法类,然后再进行调用,代码如下:package WaterMark; import java.awt.AlphaComposite ...

  5. java smb下载文件代码_java利用SMB共享文件进行局域网文件的下载及apk升级

    最近在学习android,领导想做一个测试利用局域网进行电视apk的自动升级程序,最新代码是放在本地局域网电脑上面的,在此写下代码调试过程中遇到的问题及解决方法:一开始用想用FTPClient和Htt ...

  6. python django下载 功能如何实现_Python中django文件传输下载功能的实现

    Python中django文件传输下载功能的实现,基于Django建立的网站,如果提供文件下载功能,最简单的方式莫过于将静态文件交给Nginx等处理,但有些时候,由于网站本身逻辑,需要通过Django ...

  7. java漫画下载_Java IO流 根据 输入url地址 爬虫下载漫画图片 保存到本地硬盘

    package com.yaimer.test; import java.io.*; import java.net.HttpURLConnection; import java.net.Malfor ...

  8. 如何在java中添加照片_Java如何将图片添加到PPT幻灯片中?

    在Java编程中,如何将图片添加到PPT幻灯片中? 注意:需要访问网址: , 下载一个Apache POI软件包.这里下载最新版本:poi-bin-3.17-20170915.tar.gz解压并全部导 ...

  9. java 图片回显_java实现Simditor图片上传七牛云并回显

    首先呢,我们有这样一个需求: 当图片上传Simditor时,将其保存到七牛云上,然后并回显在我们的Simditor中. 首先,需要我们有一个七牛云帐号,并且配置Simditor富文本编辑器. 其次,我 ...

  10. 用java如何进行图片去白色_java如何对图片去除图片的白色的背景

    最近在做一个需求是从数据库里面取出图片,但是图片都有一个白色的背景,于是项目组希望可以将图片的白色的背景去掉 如图所示: ----------> 当然在这个上面是看不出来的,其实第一张图片是有一 ...

最新文章

  1. 计算机二级考试题未来教育里占多少,计算机二级笔试试题未来教育版.doc
  2. 柱底反力求和lisp软件_AutoLISP详细讲解
  3. 性能测试三十九:Jprofiler分析CPU过高和响应时间长的问题
  4. 查看是否安装android sdk
  5. linux注释内容,Linux 中snmptrapd的内容有大虾能帮我注释下吗?谢谢了
  6. ruby koans:tdd方式学习ruby
  7. Linux产生僵尸进程和孤儿进程及区别
  8. 数字图像处理技术的应用领域
  9. Android推送服务——百度云推送
  10. CPU飙高系统反应慢怎么排查?
  11. 重装系统是否影响计算机,电脑重装系统会对电脑造成伤害吗? 答案说出来你可能都不信...
  12. Java利用itchat4j插件实现个人微信自动化
  13. Python中利用正则表达式做数据清洗(re)
  14. ebs查看服务状态_监控您的卷状态 - Amazon Elastic Compute Cloud
  15. 《浮生六记》年表整理
  16. 功能:编写函数long fun ( char *p),将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
  17. 高密度无线覆盖解决方案
  18. 伸缩自如的ElasticSearch——通过bboss操作和访问elasticsearch模式
  19. 【观察】揭秘:中信银行信用卡新核心系统自研之路
  20. 计算机毕业设计Java公立医院绩效考核系统(源码+系统+mysql数据库+Lw文档)

热门文章

  1. Flutter按钮添加背景图片及文字
  2. 全民投资人游戏服务器维护,欢乐园《全民仙战》3月5日14时合服公告
  3. Zencart模板结构和设计详解
  4. linux 下 安装Gdrive来实现谷歌云盘同步文件ps 可能出现 Error 404: File not found
  5. Google网络硬盘GDrive在几个月内即将成真?!
  6. 怎么进行finebi下载
  7. 用HTML5的canvas实现抽奖刮刮卡的效果(只需十几行代码)
  8. Java中浏览量怎么实现_Java刷视频浏览量点赞量的实现代码
  9. ggplot2在一幅图上画两条曲线
  10. 编译原理 3.25 作业