FTP以双端口应用模式,阻挡了一大票服务端、客户端都在内网(或有NAT)场景下的应用。此时可把相关文件以Web的方式发布出来,客户端以HTTP协议即可浏览下载相关的文件(当然这里就只能下载)。
采用Tomcat方法较简洁,只需要配置以下两项参数即可:
一、展示目录下所有的文件列表
<!-- Tomcat\conf\web.xml -->
<!-- 默认为false,即为不展示根目录文件列表;修改为true,重启tomcat即可。 -->
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
二、设置虚拟路径关联FTP文件系统
<!-- Tomcat\conf\server.xml -->
<!-- 在host标签里添加以下内容
path:访问路径
docBase:文件存放目录
客户端以“localhost:8080/ftp”,即可访问到对应的文件系统 -->
<Context path="/ftp" docBase="D:\FTPSys\" debug="0" reloadable="true" crossContext="true" />
附 文件名是乱码问题的处理方法
<!-- Tomcat\conf\server.xml -->
<!-- 在以下“Connector”标签中添加“URIEncoding”属性,值为“UTF-8”。
其用于对HTTP请求中的get方法传过来的URL进行编码。
Tomcat内置的对于get协议中的URL编码是ISO-8859-1,这个字符集不能直接支持中文等双字节的信息,
而中文文件的下载链接恰恰是通过get协议进行的。 -->
<Connector port="8080" protocol="HTTP/1.1"
URIEncoding="utf-8"
connectionTimeout="20000"
redirectPort="8443" />