Java FtpClient 파일 업로드 서비스 구현
1.설치
sudo apt-get install vsftpd2.사용자 추가(uftp)sudo useradd -d /home/uftp -s /bin/bash uftp3.사용자 비밀번호 설정sudo useradd -d /home/uftp -s /bin/bash uftp4.사용자 디 렉 터 리 만 들 기sudo mkdir /home/uftp5.사용자 비밀번호 설정sudo passwd uftp 
sudo vim /etc/vsftpd.conf    a.파일 업로드 권한 수정: 
 여기 서 문제 가 있 습 니 다.기본 적 인 상황 에서 기본 권한 은 077 입 니 다.즉,Linux 에 대응 하 는 700 계산 규칙 은 Liux 의 권한 777-local 입 니 다.umask
local 을 설정 하지 않 았 다 면umask 파일 권한 은 업 로드 된 파일 을 가 져 올 수 있 습 니 다.서버 를 통 해 접근 할 수 없습니다(권한 이 없습니다)
b.설정 파일 끝 에 추가:
 userlist_deny=NO
 userlist_enable=YES
 userlist_file=/etc/allowed_users
 seccomp_sandbox=NO
 local_enable=YESwrite_enable = YES 
 여기에 YES 로 설정 하지 않 으 면 기본적으로 파일 을 업로드 할 수 없습니다.
7,창설/etc/allowedusers
파일 에 허용 작업 추가,
 
 8.서비스 재 개
sudo service vsftpd restart 
 9、XFTP 테스트 연결 사용
 
 XFtp 를 사용 하여 새로운 연결 을 만 듭 니 다.선택 한 프로 토 콜 ftp 에 주의해 야 합 니 다.포트 는 21 입 니 다.계 정 비밀 번 호 를 입력 한 후에 서버 에 연결 할 수 있 습 니 다.
 
 테스트 업로드 파일:
여기에 txt 파일 이 업로드 되 었 습 니 다.파일 의 권한 은 666 입 니 다.여 기 는 파일 을 업로드 한 후의 권한 을 설정 하기 때 문 입 니 다 localumask.
2.자바 FtpClient 파일 업로드 실현
1.Maven 의존
<!-- Apache     -->
  <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-lang3</artifactId>
  </dependency>
  <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-io</artifactId>
  </dependency>
  <dependency>
   <groupId>commons-net</groupId>
   <artifactId>commons-net</artifactId>
  </dependency>
   FTPClient ftp = new FTPClient();
   //      
   ftp.connect("192.168.148.128", 21); 
 3、FtpClient 로그 인 서버
ftp.login("uftp", "**");
   //        
   int reply = ftp.getReplyCode();
   if (!FTPReply.isPositiveCompletion(reply)) {
    ftp.disconnect();
    return ;
   } 
 4.파일 업로드 경로 와 파일 형식 수정
//        
ftp.changeWorkingDirectory("/home/uftp/images/");
//      
ftp.setFileType(FTP.BINARY_FILE_TYPE); 
//          
 FileInputStream fileInputStream = new FileInputStream(new File("D:/123.jpg"));
//         
ftp.storeFile("hello.jpg", fileInputStream); 
 6、로그 인 탈퇴
  //    
  ftp.logout();3.Nginx 로 서버 그림 보기
1.nginx 프로필
server 에 그림 주소 분석 추가
location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt)${
  root /home/uftp/images;
  expires 7d; 
} ./nginx -s reload3.그림 보기http://192.168.148.128/hello.jpg
 
 요약:여기에서 우 리 는 간단 한 그림 을 서버 에 업로드 하고 보 여 주 는 작은 demo 를 완 성 했 습 니 다.설정 과정 에서 주로 발생 하 는 문 제 는 파일 권한 에 관 한 문제 입 니 다.vsftpd 의 설정 파일 을 설정 하지 않 았 다 면 localumask,파일 을 성공 적 으로 업로드 하 더 라 도 nginx 를 사용 하여 탐색 할 수 없습니다.write 설정enable=YES 는 파일 을 업로드 할 수 있 도록 보증 합 니 다.
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.