`

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

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

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

3、删除原来的目录

4、下载zip包

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

  1. /**  
  2.  * @param urlAdd (url地址,及网页中的动态链接的地址)  
  3.  * @param fileName(生成文件的名称)  
  4.  * @throws uploadDir(生成到服务器端指定的目录)  
  5.  */  
  6.   
  7.   
  8.   

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, 00, 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,可以到底部下载
  1. /**  
  2.  * @param inputFileName  
  3.  * @param zipFileName  
  4.  * @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();   

 }   

}  

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

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

Java代码 复制代码

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

 }   

}  

 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后台批量下载文件并压缩成zip下载的方法

    Java批量下载文件可以使用Java的文件输入输出流来实现。首先,需要在Servlet中获取文件列表,然后使用循环将文件一个个下载到本地桌面。具体实现代码如下: ```java protected void doGet(HttpServletRequest req, ...

    用JAVA实现远程图片批量下载

    其中,批量下载图片的需求尤为显著,尤其是在处理网络相册、电子书籍等内容时。传统的下载工具往往无法满足这类特定需求,因此开发专门的批量下载工具变得尤为重要。 #### 二、技术原理 实现远程图片批量下载的核心...

    java实现Ftp批量下载文件及解压

    通过Java实现FTP批量下载文件以及解压的功能,可以极大地提高工作效率,特别是在处理大量数据时。以下是一份详细的步骤介绍: 首先,我们需要引入Java的FTP客户端库,如Apache Commons Net库。这个库提供了丰富的...

    Spring Boot中使用Java实现文件批量下载与压缩功能

    ### Spring Boot中使用Java实现文件批量下载与压缩功能 #### 一、背景介绍 在Web应用开发中,经常需要提供给用户批量下载的功能,尤其是在文件管理或者文档分享等场景下。传统的做法是一次只下载一个文件,这不仅...

    java实现批量下载 多文件打包成zip格式下载

    通过以上分析,我们可以看到,Java批量下载和打包文件的关键在于有效管理文件流,处理HTTP请求和响应,以及正确设置HTTP响应头。同时,注意性能优化和错误处理也是实现此类功能时不可忽视的方面。

    批量打包下载pdf文件,多sheet页导出excel

    本主题聚焦于两个特定的操作:批量打包下载PDF文件和将多sheet页的Excel工作簿导出。这两个功能在数据分析、文档管理和自动化流程中尤为常见。 首先,批量打包下载PDF文件是一种常见的需求,特别是在处理大量报告、...

    java压缩批量文件打包

    但是,如果需要处理更复杂的任务,如批量打包,Ant则更为合适。 Ant是一个基于XML的构建工具,它定义了一组任务(tasks)来执行构建过程,如编译源代码、创建JAR文件、打包文件等。要使用Ant进行文件打包,首先需要...

    java ftp工具集 包含批量下载文件,并打包成zip文件

    java ftp工具集,包含批量下载文件,并打包成zip文件。批量拷贝ftp服务器文件,批量上传文件等,包含ftp常规操作。

    java操作mongoDB实现文件上传预览打包下载

    对于"java操作mongoDB实现文件上传预览打包下载"这个主题,我们将深入探讨如何利用Java与MongoDB交互,实现文件的上传、下载、预览以及打包下载等功能。 首先,我们需要在Java项目中引入MongoDB的驱动库,通常是...

    Java调用Zip类批量压缩多个文件.rar

    Java调用Zip类批量压缩多个文件,此前有一个是压缩单个文件,也可参考,相关代码中可找到此源码。  public class ZipDemo extends JFrame{  JFileChooser fileChooser; //文件选择器  JList fileList; //待...

    java利用oss实现下载功能

    "java利用oss实现下载功能" Java是当前最流行的编程语言之一,而 OSS(Object Storage Service)是阿里云提供的一种对象存储服务,通过使用Java和OSS可以实现下载功能。本文将详细介绍如何使用Java和OSS实现下载...

    用java一维码批量生成(条码)图片

    总之,使用Java生成一维码图片并不复杂,关键在于选择合适的库和理解其API。通过上述步骤,你应该能够成功地在项目中实现批量生成一维码图片的功能。如果你在实现过程中遇到任何困难,不要忘记查阅相关文档或社区,...

    java 实现二维码批量打印

    完成上述步骤后,将Java Web应用打包成WAR文件,部署到Tomcat服务器。通过浏览器访问应用,输入数据或上传文件,触发二维码批量打印功能。确保打印机已连接并且设置正确,观察打印结果是否符合预期。 在实际项目中...

    java中将多个excel打包成zip文件下载.rar

    在Java编程环境中,将多个Excel文件打包成ZIP文件并实现下载功能是一项常见的需求,尤其是在数据导出或批量处理场景中。下面将详细讲解这个过程涉及的主要知识点。 首先,我们需要了解Java中的`java.util.zip`包,...

    文件的打包批量下载

    把多个单文件打包下载,可以是多个图片,word、文档等。

    java 流的方式下载,上传,批量下载zip

    批量下载通常意味着一次请求下载多个文件并将其打包成ZIP。这可以通过服务器端支持的API或者客户端自行合并多个文件后创建ZIP来实现。如果服务器提供了一个ZIP文件,你可以直接使用前面的下载代码来获取。如果需要在...

    Java OSS批量下载并压缩为ZIP代码实例

    Java OSS批量下载并压缩为ZIP代码实例是使用Java语言实现在OSS(Object Storage Service)中批量下载文件并将其压缩为ZIP文件的示例代码。下面将对该代码实例中的知识点进行详细解释。 1. Java OSS简介 OSS...

    批量文件打包 用于批量文件下载

    java:用于把需要下载的文件批量打包成一个压缩包,来实现下载

    JAVA 根据Url把多文件打包成ZIP下载实例

    JAVA 根据 URL 把多文件打包成 ZIP 下载实例是指通过 JAVA 将多个文件根据 URL 下载并打包成 ZIP 文件的过程。在这个过程中,我们可以使用 JAVA 的 URL 连接和 ZIP 压缩技术来实现文件的下载和打包。 在这个例子中...

    文件以及图片压缩zip并下载.zip

    总的来说,"文件以及图片压缩zip并下载.zip"是一个包含多种类型文件(如文本文件和图片)的压缩包,利用Java的`java.util.zip`库可以方便地进行创建和解压。同时,通过HTTP服务器,我们可以实现压缩包的下载功能,...

Global site tag (gtag.js) - Google Analytics