从服务器对指定的文件进行压缩并下载

本文介绍如何使用Java在服务器端对指定的PDF文件进行提取、压缩,并提供下载服务。主要内容包括压缩和下载的工具类实现及响应接口的设计。
摘要由CSDN通过智能技术生成

需求:对服务器中指定文件夹中的pdf进行提取、压缩、下载

压缩和下载的工具类

import com.good.service.utils.DateUtils;
import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

/***
 * 将服务器中文件内容压缩响应到浏览器并下载
 */
public class DownloadUtils {

    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    private static final int BUFFER_SIZE = 2 * 1024;

    // 字符编码格式
    private static String charsetCode = "utf-8";


    /**
     * 下载接口
     * @param filePath 需要下载的文件的路径
     * @param partPath 拼凑路径
     * @param tList 下载的文件的名称
     * @param response
     * @param request
     * @return
     * @throws IOException
     */
    public static String downLoad(String filePath, String partPath, List<String> tList, HttpServletResponse response, HttpServletRequest request) throws IOException {
        List<File> fileList = new ArrayList<>();
        for (String list : tList) {
            fileList.add(new File(filePath + partPath + "/" + list + ".pdf"));
        }
        String srcFile = filePath + "/download" + DateUtils.getDate("yyyyMMddHHmmss") + ".zip";
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值