From c1c78fc85a8d938405022e2c09b2892ec685b947 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 16 May 2022 10:12:41 +0800
Subject: [PATCH] ftp path 路径修改,中文字符处理

---
 src/main/java/org/springblade/modules/FTP/Monitor.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/springblade/modules/FTP/Monitor.java b/src/main/java/org/springblade/modules/FTP/Monitor.java
index 1453566..e4f5932 100644
--- a/src/main/java/org/springblade/modules/FTP/Monitor.java
+++ b/src/main/java/org/springblade/modules/FTP/Monitor.java
@@ -12,6 +12,7 @@
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
 import java.net.SocketException;
+import java.net.URLEncoder;
 import java.util.List;
 
 import static org.springblade.common.config.FtpConfig.*;
@@ -23,6 +24,8 @@
  */
 @Component
 public class Monitor {
+
+
 
 	/**
 	 * 读取文件(用户对象)单用户新增
@@ -52,8 +55,10 @@
 
 			// 设置编码格式
 			ftp.setControlEncoding("GBK");
+			System.out.println("ftpPathIn = " + ftpPathIn);
+			System.out.println("ftpPathInURLEncoder = " + URLEncoder.encode(ftpPathIn,"UTF-8"));
 			// 检验文件是否存在
-			boolean ftpFile = ftp.changeWorkingDirectory(ftpPathIn);
+			boolean ftpFile = ftp.changeWorkingDirectory(URLEncoder.encode(ftpPathIn,"UTF-8"));
 			System.out.println("检验文件是否存在 = " + ftpFile);
 			FTPFile[] files = ftp.listFiles();
 			System.out.println("files = " + files);
@@ -72,14 +77,14 @@
 					if (substring1.equals("n")){
 						System.out.println("-------接收到内网回传的文件: " + substring1);
 					    //把文件下载到本地
-						FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPathIn, localPath, fileName);
+						FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, URLEncoder.encode(ftpPathIn,"UTF-8"), localPath, fileName);
 						// 解析数据
 						String s = OutJson.TestJson(fileName);
 						//数据处理
 						Result result = DataHandler.handler(s,uuid);
 						//删除本地文件
 						MysqlCenlint.deletess(fileName);
-						FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPathIn, fileName);
+						FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, URLEncoder.encode(ftpPathIn,"UTF-8"), fileName);
 						is.close();
 						ftp.completePendingCommand();
 						if (result.getCode()==200) {

--
Gitblit v1.9.3