From 84a71d044daa2cafedc052ab6309aa85e1f8435f Mon Sep 17 00:00:00 2001 From: xyli Date: Fri, 3 Mar 2023 18:19:39 +0800 Subject: [PATCH] =?UTF-8?q?NodeForward.java=20=20=E5=A2=9E=E5=8A=A0request?= =?UTF-8?q?Download=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 | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/main/java/mpms/common/forward/NodeForward.java b/src/main/java/mpms/common/forward/NodeForward.java index e372e0c..11ef170 100644 --- a/src/main/java/mpms/common/forward/NodeForward.java +++ b/src/main/java/mpms/common/forward/NodeForward.java @@ -282,6 +282,36 @@ public class NodeForward { } /** + * 下载文件消息转发 + * + * @param nodeModel 节点 + * @param request 请求 + * @param response 响应 + * @param nodeUrl 节点的url + */ + @SuppressWarnings({"unchecked", "rawtypes"}) + public static void requestDownload(NodeModel nodeModel, HttpServletRequest request, HttpServletResponse response, NodeUrl nodeUrl) { + String url = nodeModel.getRealUrl(nodeUrl); + HttpRequest httpRequest = HttpUtil.createGet(url); + addUser(httpRequest, nodeModel, nodeUrl); + + Map params = ServletUtil.getParams(request); + httpRequest.form(params); + + HttpResponse response1; + try { + + httpRequest.timeout(ServerExtConfigBean.getInstance().getUploadFileTimeOut()); + response1 = httpRequest.execute(); + } catch (Exception e) { + throw new AgentException(nodeModel.getName() + "节点异常:" + e.getMessage(), e); + } + String contentDisposition = response1.header("Content-Disposition"); + response.setHeader("Content-Disposition", contentDisposition); + String contentType = response1.header("Content-Type"); + response.setContentType(contentType); + ServletUtil.write(response, response1.bodyStream()); + } -- Gitee