From 725abac64efc098b9ecb7827429f3c47924a00b9 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Fri, 19 Jul 2024 17:42:20 +0800
Subject: [PATCH] 修改航线录像问题,新增图片压缩下载,修改航线
---
src/main/java/com/dji/sample/media/controller/FileController.java | 33 +++++++++++++++++++++++++++++----
1 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/dji/sample/media/controller/FileController.java b/src/main/java/com/dji/sample/media/controller/FileController.java
index 785b2d0..5200eea 100644
--- a/src/main/java/com/dji/sample/media/controller/FileController.java
+++ b/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
@@ -65,15 +70,15 @@
@RequestParam(name = "page_size", defaultValue = "10") int pageSize,
@PathVariable(name = "workspace_id") String workspaceId
) {
- return ResponseResult.success(fileService.getPhotoByJobId(page,pageSize,workspaceId, jobId));
+ return ResponseResult.success(fileService.getPhotoByJobId(page, pageSize, workspaceId, jobId));
}
@GetMapping("/{workspace_id}/getJobIds")
public ResponseResult getJobIds(@PathVariable(name = "workspace_id") String workspaceId,
@RequestParam(defaultValue = "1") int page,
@RequestParam(name = "page_size", defaultValue = "10") int pageSize
- ) {
- return ResponseResult.success(fileService.getJobId(page,pageSize,workspaceId));
+ ) {
+ return ResponseResult.success(fileService.getJobId(page, pageSize, workspaceId));
}
@PutMapping("/examine")
@@ -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);
+ }
+
+}
\ No newline at end of file
--
Gitblit v1.9.3