From 2e083bc898849efa38d4c87098046744fbf1aa16 Mon Sep 17 00:00:00 2001 From: xyli Date: Fri, 3 Mar 2023 18:18:31 +0800 Subject: [PATCH] =?UTF-8?q?NodeForward.java=20=20=E5=A2=9E=E5=8A=A0request?= =?UTF-8?q?Multipart=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/mpms/common/forward/NodeForward.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/main/java/mpms/common/forward/NodeForward.java b/src/main/java/mpms/common/forward/NodeForward.java index 187122b..e372e0c 100644 --- a/src/main/java/mpms/common/forward/NodeForward.java +++ b/src/main/java/mpms/common/forward/NodeForward.java @@ -245,6 +245,45 @@ public class NodeForward { } + /** + * 上传文件消息转发 + * + * @param nodeModel 节点 + * @param request 请求 + * @param nodeUrl 节点的url + * @return json + */ + @SuppressWarnings({"unchecked", "rawtypes"}) + public static JsonMessage requestMultipart(NodeModel nodeModel, MultipartHttpServletRequest request, NodeUrl nodeUrl) { + String url = nodeModel.getRealUrl(nodeUrl); + HttpRequest httpRequest = HttpUtil.createPost(url); + addUser(httpRequest, nodeModel, nodeUrl); + + Map params = ServletUtil.getParams(request); + httpRequest.form(params); + + Map fileMap = request.getFileMap(); + fileMap.forEach((s, multipartFile) -> { + try { + httpRequest.form(s, multipartFile.getBytes(), multipartFile.getOriginalFilename()); + } catch (IOException e) { + DefaultSystemLog.getLog().error("转发文件异常", e); + } + }); + HttpResponse response; + try { + + httpRequest.timeout(ServerExtConfigBean.getInstance().getUploadFileTimeOut()); + response = httpRequest.execute(); + } catch (Exception e) { + throw new AgentException(nodeModel.getName() + "节点异常:" + e.getMessage(), e); + } + return parseBody(response); + } + + /** + + -- Gitee