From c635d78b479510ebe2556a420948effcd30a0731 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 21 十二月 2024 18:40:43 +0800 Subject: [PATCH] 新建德森项目分支 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/WebkitParseUtils.java | 192 ++++++++++++++++++++++++------------------------ 1 files changed, 96 insertions(+), 96 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/WebkitParseUtils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/WebkitParseUtils.java index 2ea5a33..395534a 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/WebkitParseUtils.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/WebkitParseUtils.java @@ -1,96 +1,96 @@ -package com.zy.asrs.wms.utils; - -import com.alibaba.fastjson.JSON; - -import java.util.HashMap; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import java.util.ArrayList; -import java.util.List; - -public class WebkitParseUtils { - - private static final Pattern BOUNDARY_PATTERN = Pattern.compile("--WebKitFormBoundary([A-Za-z0-9+/]+)"); - private static final Pattern NAME_PATTERN = Pattern.compile("Content-Disposition: form-data; name=\"([^\"]+)\""); - private static final Pattern VALUE_PATTERN = Pattern.compile("Content-Disposition: form-data; name=\"[^\"]+\"\\s*\\n\\s*\\n\\s*([^\\n]+)"); - - // 瑙f瀽WebKitFormBoundary瀛楃涓叉暟鎹� - public static String parseBoundary(String input) { - Matcher matcher = BOUNDARY_PATTERN.matcher(input); - if (matcher.find()) { - return matcher.group(1); // 杩斿洖鎹曡幏鐨勫瓧绗︿覆 - } - return null; // 濡傛灉娌℃湁鍖归厤锛屽垯杩斿洖null - } - - // 瑙f瀽鎵�鏈塶ame鐨勫�� - public static List<String> parseNames(String input) { - List<String> names = new ArrayList<>(); - Matcher matcher = NAME_PATTERN.matcher(input); - while (matcher.find()) { - names.add(matcher.group(1)); // 娣诲姞鎹曡幏鍒扮殑name鍊煎埌鍒楄〃 - } - return names; // 杩斿洖鎵�鏈夊尮閰嶅埌鐨刵ame鍊� - } - - // 瑙f瀽鎵�鏈夊�奸儴鍒� - public static List<String> parseValues(String input) { - List<String> values = new ArrayList<>(); - Matcher matcher = VALUE_PATTERN.matcher(input); - while (matcher.find()) { - String trim = matcher.group(1).trim(); - Matcher matcher2 = BOUNDARY_PATTERN.matcher(trim); - if(matcher2.find()) { - trim = ""; - } - values.add(trim); // 娣诲姞鎹曡幏鍒扮殑鍊煎埌鍒楄〃锛屽苟鍘绘帀鍓嶅悗鐨勭┖鐧� - } - return values; // 杩斿洖鎵�鏈夊尮閰嶅埌鐨勫�� - } - - public static HashMap<String, Object> getFormData(String input) { -// // 瑙f瀽WebKitFormBoundary瀛楃涓� -// String boundary = parseBoundary(input); -// System.out.println("瑙f瀽鍑虹殑WebKitFormBoundary瀛楃涓叉槸: " + boundary); - - // 瑙f瀽鎵�鏈塶ame鐨勫�� - List<String> nameValues = parseNames(input); -// System.out.println("瑙f瀽鍑虹殑鎵�鏈塶ame鍊兼槸: " + nameValues); - - // 瑙f瀽鎵�鏈夊�� - List<String> values = parseValues(input); -// System.out.println("瑙f瀽鍑虹殑鎵�鏈夊�兼槸: " + values); - - HashMap<String, Object> map = new HashMap<>(); - for (int i = 0; i < nameValues.size(); i++) { - String key = nameValues.get(i); - // 纭繚鍗充娇鍊间负绌轰篃鑳芥甯稿瓨鍏ap - String value = i < values.size() ? values.get(i) : ""; - map.put(key, value); - } - -// System.out.println(JSON.toJSONString(map)); - return map; - } - - public static void main(String[] args) { - String input = "------WebKitFormBoundarySOfEJLg0rR0hf3mm\n" + - "Content-Disposition: form-data; name=\"locNo\"\n" + - "\n" + - "1\n" + - "------WebKitFormBoundarySOfEJLg0rR0hf3mm\n" + - "Content-Disposition: form-data; name=\"test\"\n" + - "\n" + - "123\n" + - "------WebKitFormBoundarySOfEJLg0rR0hf3mm\n" + - "Content-Disposition: form-data; name=\"quer\"\n" + - "\n" + - "111\n" + - "------WebKitFormBoundarySOfEJLg0rR0hf3mm--"; - - getFormData(input); - - } - -} +package com.zy.asrs.wms.utils; + +import com.alibaba.fastjson.JSON; + +import java.util.HashMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import java.util.ArrayList; +import java.util.List; + +public class WebkitParseUtils { + + private static final Pattern BOUNDARY_PATTERN = Pattern.compile("--WebKitFormBoundary([A-Za-z0-9+/]+)"); + private static final Pattern NAME_PATTERN = Pattern.compile("Content-Disposition: form-data; name=\"([^\"]+)\""); + private static final Pattern VALUE_PATTERN = Pattern.compile("Content-Disposition: form-data; name=\"[^\"]+\"\\s*\\n\\s*\\n\\s*([^\\n]+)"); + + // 瑙f瀽WebKitFormBoundary瀛楃涓叉暟鎹� + public static String parseBoundary(String input) { + Matcher matcher = BOUNDARY_PATTERN.matcher(input); + if (matcher.find()) { + return matcher.group(1); // 杩斿洖鎹曡幏鐨勫瓧绗︿覆 + } + return null; // 濡傛灉娌℃湁鍖归厤锛屽垯杩斿洖null + } + + // 瑙f瀽鎵�鏈塶ame鐨勫�� + public static List<String> parseNames(String input) { + List<String> names = new ArrayList<>(); + Matcher matcher = NAME_PATTERN.matcher(input); + while (matcher.find()) { + names.add(matcher.group(1)); // 娣诲姞鎹曡幏鍒扮殑name鍊煎埌鍒楄〃 + } + return names; // 杩斿洖鎵�鏈夊尮閰嶅埌鐨刵ame鍊� + } + + // 瑙f瀽鎵�鏈夊�奸儴鍒� + public static List<String> parseValues(String input) { + List<String> values = new ArrayList<>(); + Matcher matcher = VALUE_PATTERN.matcher(input); + while (matcher.find()) { + String trim = matcher.group(1).trim(); + Matcher matcher2 = BOUNDARY_PATTERN.matcher(trim); + if(matcher2.find()) { + trim = ""; + } + values.add(trim); // 娣诲姞鎹曡幏鍒扮殑鍊煎埌鍒楄〃锛屽苟鍘绘帀鍓嶅悗鐨勭┖鐧� + } + return values; // 杩斿洖鎵�鏈夊尮閰嶅埌鐨勫�� + } + + public static HashMap<String, Object> getFormData(String input) { +// // 瑙f瀽WebKitFormBoundary瀛楃涓� +// String boundary = parseBoundary(input); +// System.out.println("瑙f瀽鍑虹殑WebKitFormBoundary瀛楃涓叉槸: " + boundary); + + // 瑙f瀽鎵�鏈塶ame鐨勫�� + List<String> nameValues = parseNames(input); +// System.out.println("瑙f瀽鍑虹殑鎵�鏈塶ame鍊兼槸: " + nameValues); + + // 瑙f瀽鎵�鏈夊�� + List<String> values = parseValues(input); +// System.out.println("瑙f瀽鍑虹殑鎵�鏈夊�兼槸: " + values); + + HashMap<String, Object> map = new HashMap<>(); + for (int i = 0; i < nameValues.size(); i++) { + String key = nameValues.get(i); + // 纭繚鍗充娇鍊间负绌轰篃鑳芥甯稿瓨鍏ap + String value = i < values.size() ? values.get(i) : ""; + map.put(key, value); + } + +// System.out.println(JSON.toJSONString(map)); + return map; + } + + public static void main(String[] args) { + String input = "------WebKitFormBoundarySOfEJLg0rR0hf3mm\n" + + "Content-Disposition: form-data; name=\"locNo\"\n" + + "\n" + + "1\n" + + "------WebKitFormBoundarySOfEJLg0rR0hf3mm\n" + + "Content-Disposition: form-data; name=\"test\"\n" + + "\n" + + "123\n" + + "------WebKitFormBoundarySOfEJLg0rR0hf3mm\n" + + "Content-Disposition: form-data; name=\"quer\"\n" + + "\n" + + "111\n" + + "------WebKitFormBoundarySOfEJLg0rR0hf3mm--"; + + getFormData(input); + + } + +} -- Gitblit v1.9.1