From 741f84800a43a7776cbcd779f8e6e86c18ce47f3 Mon Sep 17 00:00:00 2001 From: HopeLi <1278288511@qq.com> Date: Thu, 24 Jul 2025 10:27:03 +0800 Subject: [PATCH] =?UTF-8?q?0724=20ljc=20=20=E4=BF=AE=E6=94=B9=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=9C=8D=E5=8A=A1=E5=99=A8=E4=B8=8A=E4=BC=A0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=BF=94=E5=9B=9E=E5=80=BC=E4=BB=A5=E5=8F=8A=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E6=8E=A5=E5=8F=A3=E7=9A=84=E8=AF=B7=E6=B1=82=E9=A3=8E?= =?UTF-8?q?=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cd/casic/ci/api/SftpFileController.java | 6 +++--- .../process/process/service/sftpFile/SftpClientUtils.java | 4 +++- .../process/process/service/sftpFile/SftpFileService.java | 2 +- .../process/service/sftpFile/impl/SftpFileServiceImpl.java | 4 ++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/SftpFileController.java b/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/SftpFileController.java index c6b86937..50bdbb6c 100644 --- a/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/SftpFileController.java +++ b/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/SftpFileController.java @@ -36,7 +36,7 @@ public class SftpFileController { @RequestParam MultipartFile file) { String localFilePath = saveTempFile(file); - sftpFileService.uploadFile( + String uploadFilePath = sftpFileService.uploadFile( fileUploadProperties.getRemoteHost(), fileUploadProperties.getRemotePort(), fileUploadProperties.getUsername(), @@ -44,10 +44,10 @@ public class SftpFileController { fileUploadProperties.getSshKeyPath(), localFilePath, remoteDir, remoteFileName); - return CommonResult.success("文件上传成功"); + return CommonResult.success(uploadFilePath); } - @GetMapping("/download") + @PostMapping("/download") public void downloadFile( @RequestParam String remoteFilePath, HttpServletResponse response) { diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/SftpClientUtils.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/SftpClientUtils.java index d8e0ca3c..b85f7bbc 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/SftpClientUtils.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/SftpClientUtils.java @@ -72,7 +72,7 @@ public class SftpClientUtils implements AutoCloseable { channelSftp = (ChannelSftp) channel; } - public void uploadFile(String localFilePath, String remoteDir, String remoteFileName) throws SftpException, SftpUploadUtil.SftpUploadException, FileNotFoundException { + public String uploadFile(String localFilePath, String remoteDir, String remoteFileName) throws SftpException, SftpUploadUtil.SftpUploadException, FileNotFoundException { FileInputStream fis = null; // 检查并切换到远程目录 @@ -109,6 +109,8 @@ public class SftpClientUtils implements AutoCloseable { // 8. 上传文件 channelSftp.put(fis, finalRemoteFileName); System.out.println("文件上传成功!"); + + return remoteDir + "/" + remoteFileName; } public void downloadFile(String remoteFilePath, OutputStream outputStream) throws SftpException, SftpUploadUtil.SftpUploadException, IOException { diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/SftpFileService.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/SftpFileService.java index d28cd6d5..f08bf0b8 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/SftpFileService.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/SftpFileService.java @@ -14,7 +14,7 @@ import java.util.List; */ public interface SftpFileService{ - void uploadFile(String remoteHost, Integer remotePort, String username, String password, String sshKeyPath, String localFilePath, String remoteDir, String remoteFileName); + String uploadFile(String remoteHost, Integer remotePort, String username, String password, String sshKeyPath, String localFilePath, String remoteDir, String remoteFileName); void downloadFile(String remoteHost, Integer remotePort, String username, String password, String sshKeyPath, String remoteFilePath, HttpServletResponse response); diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/impl/SftpFileServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/impl/SftpFileServiceImpl.java index 60206644..878ad46d 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/impl/SftpFileServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sftpFile/impl/SftpFileServiceImpl.java @@ -27,9 +27,9 @@ public class SftpFileServiceImpl implements SftpFileService { @Override - public void uploadFile(String remoteHost, Integer remotePort, String username, String password, String sshKeyPath, String localFilePath, String remoteDir, String remoteFileName) { + public String uploadFile(String remoteHost, Integer remotePort, String username, String password, String sshKeyPath, String localFilePath, String remoteDir, String remoteFileName) { try (SftpClientUtils client = new SftpClientUtils(remoteHost, remotePort, username, password, sshKeyPath)) { - client.uploadFile(localFilePath, remoteDir, remoteFileName); + return client.uploadFile(localFilePath, remoteDir, remoteFileName); } catch (Exception e) { throw new RuntimeException("文件上传失败: " + e.getMessage(), e); }