2. 安装ftp服务,输入命令:yum install vsftpd 3. 使用命令查看: getsebool -a|grep ftp 4. 使用命令:setsebool -P 来设置
setsebool -P allow_ftpd_full_access=on
setsebool -P ftp_home_dir=on
5. 在防火墙中开发21号端口,输入命令vim /etc/sysconfig/iptables 6. 重启防火墙,输入命令:service iptables restart 7. 启动ftp服务器,输入命令:service vsftpd start 使用java测试ftp上传功能 1. 导入依赖:<dependencies>2. 项目目录结构: 3. java测试代码:
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
@Test4. 去到上传目录查看结果:
public void testFtp1() throws Exception {
FTPClient ftp = new FTPClient(); // 创建客户端对象
InputStream local = null;
ftp.connect("192.168.33.129", 21); // 连接ftp服务器
ftp.login("testftp", "1234567"); // 登录
String path = "/home/testftp/image"; // 设置上传路径
boolean flag = ftp.changeWorkingDirectory(path); // 检查上传路径是否存在,如果不存在返回false
if (!flag) {
ftp.makeDirectory(path); // 创建上传的路径 该方法只能创建一级目录
}
ftp.changeWorkingDirectory(path); // 指定上传路径
ftp.setFileType(FTP.BINARY_FILE_TYPE); // 指定上传文件的类型 二进制文件
File file = new File("0.jpg"); // 读取本地文件
local = new FileInputStream(file);
ftp.storeFile(file.getName(), local); // 第一个参数是文件名
local.close(); // 关闭文件流
ftp.logout(); // 退出
ftp.disconnect(); // 断开连接
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)