安裝 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);
}
}