Linux搭建FTP和Java文件上传

安装 vsftpd

yum -y install vsftpd

添加 vsftpd 用户

useradd ftpuser

设置 vsftpd密码

passwd ftpuser

在ftpuser用户目录下创建一个上传目录

mkdir /home/ftpuser/html

在这里插入代码片

配置 ,禁止匿名用户登录,配置文件 /etc/vsftpd/ vsftpd.conf
找到下面的2项进行修改

local_root=/home/ftpuser/html
nonymous_enable=NO

修改目录权限

chmod 777 /home/ftpuser/html

启动Vsftpd

service vsftpd restart

Java文件上传

导入依赖:

<dependency>
	<groupId>commons-net</groupId>
	<artifactId>commons-net</artifactId>
	<version>3.6</version>
</dependency>

这是我们的文件上传的IP和前面设置的用户

@Test
	public void testFtpUpload(){
		FTPClient ftpClient = new FTPClient();
		FileInputStream fis = null;
		try {
			//服务器IP
			ftpClient.connect("10.0.0.3");
			//配置的ftp用户密码
			ftpClient.login("ftpuser", "123456");
  			//本地文件
			File srcFile = new File("C:\\Users\\Administrator\\Desktop\\图片素材\\111.jpg");
			fis = new FileInputStream(srcFile);
			//设置上传目录
			ftpClient.setBufferSize(1024);
			ftpClient.setControlEncoding("GBK");
			//设置文件类型(二进制)

			ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
			ftpClient.storeFile("333.jpg", fis);
		} catch (IOException e) {
			e.printStackTrace();
			throw new RuntimeException("FTP客户端出错!", e);
		} finally {
			IOUtils.closeQuietly(fis);
			try {
				ftpClient.disconnect();
			} catch (IOException e) {
				e.printStackTrace();
				throw new RuntimeException("关闭FTP连接发生异常!", e);
			}
		}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章