Apache FtpServer纯Java FTP服务器,不能配置中文路径解决

Apache Ftp Server是一个100% 的纯Java FTP server,作为FTP服务器非常好用,可以指定多个用户,设置多种参数

如下的参数,可以看到有用户目录,目录权限只读或读写,下载和上传速度,空闲时间等很多控制。

ftpserver.user.anonymous.writepermission=false
ftpserver.user.anonymous.maxloginnumber=20
ftpserver.user.anonymous.enableflag=true
ftpserver.user.anonymous.userpassword=
ftpserver.user.anonymous.homedirectory=E:/
ftpserver.user.anonymous.idletime=300
ftpserver.user.anonymous.uploadrate=0
ftpserver.user.anonymous.maxloginperip=0
ftpserver.user.anonymous.downloadrate=0

可以复制这些参数,然后把anonymous改为其他用户名,比如upload,即可启用新用户,注意userpassword一栏,要填密码的MD5值,如果不要密码,可以填D41D8CD98F00B204E9800998ECF8427E,即空串的MD5。

 

 

设置目录时如果是英文则正常,

如:

ftpserver.user.anonymous.homedirectory=E:/upload/

如果是中文则客户端无法访问

如:

ftpserver.user.anonymous.homedirectory=E:/上载/

 

 

阅读源码 发现处理读配置文件,用的是Properties的子类,来进行加载,Properties操作的文件格式是 ISO 8859-1 字符编码,中文的使用 Unicode 转义符来编写,

用jdk带的native2ascii.exe,转化 上载 两字 得到 /u4e0a/u8f7d

配置修改如下,客户端就可以访问了。

ftpserver.user.up.homedirectory=e://u4E0A/u8F7D

 

你可能感兴趣的:(行业的足迹)