From 72a8ea8b3df5f8ff2ccd49bd951ded5deb2e1593 Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 28 八月 2026 11:39:24 +0800
Subject: [PATCH] fix: 数据导入目录浏览/批量导入数量上限,防浏览器渲染与请求爆炸
---
traffic-audit-server/src/main/java/com/trafficaudit/dataimport/service/DataImportService.java | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/service/DataImportService.java b/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/service/DataImportService.java
index deafe7a..58b5305 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/service/DataImportService.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/service/DataImportService.java
@@ -2369,10 +2369,13 @@
result.put("parent", cur.getParent() == null ? "" : cur.getParent());
List<Map<String, Object>> dirs = new ArrayList<>();
File[] subs = cur.listFiles(File::isDirectory);
+ int dirTotal = 0;
if (subs != null) {
Arrays.sort(subs, Comparator.comparing(File::getName));
for (File d : subs) {
if (d.isHidden()) continue;
+ dirTotal++;
+ if (dirs.size() >= 300) continue;
Map<String, Object> m = new LinkedHashMap<>();
m.put("name", d.getName());
m.put("path", d.getAbsolutePath());
@@ -2380,17 +2383,21 @@
}
}
result.put("dirs", dirs);
+ result.put("dirsTruncated", dirTotal > dirs.size());
List<String> excelFiles = new ArrayList<>();
File[] files = cur.listFiles((d, n) -> {
String lower = n.toLowerCase();
return lower.endsWith(".xlsx") || lower.endsWith(".xls");
});
+ int excelTotal = files == null ? 0 : files.length;
if (files != null) {
Arrays.sort(files, Comparator.comparing(File::getName));
- for (File f : files) excelFiles.add(f.getName());
+ int take = Math.min(files.length, 300);
+ for (int i = 0; i < take; i++) excelFiles.add(files[i].getName());
}
- result.put("excelCount", excelFiles.size());
+ result.put("excelCount", excelTotal);
result.put("files", excelFiles);
+ result.put("filesTruncated", excelTotal > excelFiles.size());
return result;
}
--
Gitblit v1.9.1