一 .概述
这是一个linux的软件,可以实现FTP的功能,我们一般情况下都会使用这个FTPClient帮助实现linux的文件上传.
这个软件是基于FTP协议帮助实现的.
我们为什么要使用这个文件呢?比如我们上传文件的时候,如果出现tomcat集群部署的时候,我们就不能将上传的文件存放在tomcat了.
我们需要使用一个单独的文件服务器来完成这个任务.
比较简单的就是使用VSFTPD帮助我们实现linux的一个文件服务器.
但是在使用了VSFTPD之后就出现了一个问题,就是VSFTPD支持的是FTP协议,而浏览器使用的是Http协议,现在我们就需要使用nginx帮助
完成转换的方式.
二 .软件的安装
软件的安装总是比较恶心的,但是VSFTPD的安装却是比较简单的.
[1] yum install vsftpd
[2]我们添加一个用户 useradd ptpd
[3]设置密码 passwd ptpd 然后设置密码就好了
[4]然后我们需要开启22端口
[5]然后就是设置ftpd开启服务,最好设置为自启动的模式
[6]我们需要关闭selinux,否则会让我们产生错误
[7]我们下面开启对vsftpd的配置进行修改
(1)首先对匿名访问禁止---就是/etc/vsftpd/vsftpd.conf文件之中
然后我们需要重启一下服务就好了.
(2)然后我们需要配置一下被动模式的开启
三 .使用ftpClient上传和下载文件
我们这次使用的是commons-net帮助我们实现这个功能.
@Test public void testUpload() throws Exception { FTPClient client = new FTPClient(); //获取连接 client.connect("192.168.0.111", 21); //设置用户名和密码 client.login("ftpd", "trek"); //设置二进制文件 client.setFileType(FTPClient.BINARY_FILE_TYPE); //上传一张图片 client.storeFile("heh.txt", new FileInputStream("F:\\11.txt")); client.logout(); }