rain
2024-07-19 725abac64efc098b9ecb7827429f3c47924a00b9
src/main/java/com/dji/sample/media/controller/FileController.java
@@ -8,6 +8,7 @@
import com.dji.sample.media.model.MediaFileEntity;
import com.dji.sample.media.model.MediaFileQueryParam;
import com.dji.sample.media.service.IFileService;
import com.dji.sample.media.util.ImageDownloaderAndCompressor;
import com.drew.imaging.ImageProcessingException;
import org.apache.ibatis.annotations.Update;
import org.springframework.beans.factory.annotation.Autowired;
@@ -15,14 +16,18 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM;
import static com.dji.sample.media.util.ImageDownloaderAndCompressor.*;
/**
 * @author sean
@@ -165,4 +170,24 @@
            e.printStackTrace();
        }
    }
    private static final String BASE_URL = "http://dev.jxpskj.com:9000/cloud-bucket";
    @GetMapping("/download-images")
    public void downloadImages(@RequestParam String jobId, HttpServletResponse response) {
        List<MediaFileEntity> entities = fileService.getMedia(jobId);
        List<String> urls = entities.stream()
                .map(MediaFileEntity::getObjectKey)
                .map(objectKey -> BASE_URL + objectKey)
                .collect(Collectors.toList());
        String outputFolder = "images"; // 存放图片的文件夹
        new File(outputFolder).mkdirs(); // 创建文件夹
        downloadAndSaveImages(urls, outputFolder);
        zipAndSendFolder(outputFolder, response);
        cleanUp(outputFolder);
    }
}