Commit 8113f82a authored by chenzhao's avatar chenzhao

资料上传 buding

parent fda92693
...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.module.hygf.api.util.JsonUtils; ...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.module.hygf.api.util.JsonUtils;
import com.yeejoin.amos.boot.module.hygf.biz.feign.WorkflowFeignClient; import com.yeejoin.amos.boot.module.hygf.biz.feign.WorkflowFeignClient;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.robot.AmosRequestContext; import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.component.robot.BadRequest;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel; import com.yeejoin.amos.feign.systemctl.model.RegionModel;
...@@ -1390,11 +1391,16 @@ public class CommonServiceImpl { ...@@ -1390,11 +1391,16 @@ public class CommonServiceImpl {
} }
private static void createZipFile(Path folderPath, String zipFilePath, HttpServletResponse response) { private void createZipFile(Path folderPath, String zipFilePath, HttpServletResponse response) {
try (ServletOutputStream out = response.getOutputStream(); try (ServletOutputStream out = response.getOutputStream();
ZipOutputStream zos = new ZipOutputStream(out)) { ZipOutputStream zos = new ZipOutputStream(out)) {
// 计算ZIP文件的总大小 // 计算ZIP文件的总大小
long totalSize = getTotalFileSize(folderPath); long totalSize = getTotalFileSize(folderPath);
double totalNum = (double) (totalSize/1024/1024);
if (totalNum > 500 ){
this.cleanup(folderPath);
throw new BadRequest("所选文件总大小不得超过500M,当前所选文件总大小为"+totalNum+"M");
}
response.setContentLengthLong((int) totalSize); response.setContentLengthLong((int) totalSize);
addFolderToZip(zipFilePath, folderPath, zos,response); addFolderToZip(zipFilePath, folderPath, zos,response);
} catch (IOException e) { } catch (IOException e) {
...@@ -1724,7 +1730,7 @@ public class CommonServiceImpl { ...@@ -1724,7 +1730,7 @@ public class CommonServiceImpl {
} }
@Async @Async
public void cleanup(Path tempDir) { public void cleanup(Path tempDir) {
try (Stream<Path> paths = Files.walk(tempDir)) { try (Stream<Path> paths = Files.walk(tempDir)) {
List<Path> filesToDelete = paths.sorted(Comparator.reverseOrder()) List<Path> filesToDelete = paths.sorted(Comparator.reverseOrder())
.collect(Collectors.toList()); .collect(Collectors.toList());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment