rain
2024-07-30 347f962a7642c453b22faa2cca57a84cd23950b1
文件压缩下载
2 files modified
10 ■■■■■ changed files
src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/media/util/MinioFileDownloader.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
@@ -456,7 +456,8 @@
    @Override
    public ResponseResult downloadImages(List<String> jobIds) {
        String localSaveDir = "/home/drone/web/zip";
        String filepath=localSaveDir+TimerUtil.getNowDay();
        String downPath="https://wrj.shuixiongit.com/downloadZip/";
        String filepath=TimerUtil.getNowDay()+".zip";
        try {
            String bucketPath = "/data/software/minio-data/cloud-bucket";
            List<String> prefixes = getUniqueFilePaths(jobIds);
@@ -466,7 +467,7 @@
            e.printStackTrace();
            return ResponseResult.error("下载失败" + e.getMessage());
        }
        return ResponseResult.success(filepath);
        return ResponseResult.success(downPath+filepath);
    }
    @Override
src/main/java/com/dji/sample/media/util/MinioFileDownloader.java
@@ -1,5 +1,6 @@
package com.dji.sample.media.util;
import com.dji.sample.patches.utils.TimerUtil;
import io.minio.MinioClient;
import io.minio.RemoveObjectArgs;
import io.minio.StatObjectArgs;
@@ -19,13 +20,13 @@
        this.bucketPath = bucketPath;
    }
    public void downloadAndZipFolders(List<String> prefixes, String localSaveDir,String filepath) throws Exception {
    public void downloadAndZipFolders(List<String> prefixes, String localSaveDir,String time) throws Exception {
        // 创建目标文件夹路径并生成zip文件名
        Path localSavePath = Paths.get(localSaveDir);
        if (!Files.exists(localSavePath)) {
            Files.createDirectories(localSavePath);
        }
        String zipFileName = localSavePath.resolve(filepath).toString();
        String zipFileName = localSavePath.resolve(time).toString();
        // 创建压缩文件输出流
        try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFileName))) {