FPClient는 참조를 위해 지정된 서버에 파일을 업로드하는 것을 구현합니다. 특정 내용은 다음과 같습니다
부르다
fileInputStream in = new FileInputStream (새 파일 (fileUrl)); MoveFile ( "10.3.3. **", 21, "username", "password", path, filename, in);
방법
/ *** 설명 : FTP 서버에 파일을 업로드* @Param URL FTP 서버 호스트 이름* @param port ftp 서버 포트* @param username ftp login account* @param pathrice login password* @param path 서버 저장 디렉토리* @param filename upload* @param filen upload* @Param Intution REPINT REPINT REPINT REPTIO MoveFile (문자열 URL, int 포트, 문자열 사용자 이름, 문자열 비밀번호, 문자열 경로, 문자열 파일 이름, inputStream 입력) {부울 성공 = false; ftpclient ftp = 새로운 ftpclient (); {int reply; ftp.connect (url, port); // ftp 서버를 연결 // 기본 포트를 사용하는 경우 ftp.connect (url)를 사용하여 FTP 서버에 직접 연결할 수 있습니다. ftp.login (username, password); // login reply = ftp.getReplyCode (); if (! ftpReply.ispositiveCoMpletion (답장)) {ftp.disconnect (); 반환 성공; } // 경로 생성 try {ftp.makedirectory (path); } catch (예외 e) {} ftp.enterlocalPassiveMode (); ftp.changeworkingdirectory (Path); 부울 f = ftp.storefile (파일 이름, 입력); logger.error (f); input.close (); ftp.logout (); 성공 = 참; } catch (ioexception e) {e.printstacktrace (); } 마침내 {if (ftp.isconnected ()) {try {ftp.disconnect (); } catch (ioexception ioe) {}}} 반환 성공; }몇 가지 세부 사항
FileInputStream.available ()는 실제 읽기 가능한 바이트 수, 즉 총 크기를 반환합니다.
ftpclient.storefile () 메소드가 중지되면 반응이없고 가짜 죽음 상태가 있습니다.
해결 방법 : ftpclient.enterlocalPassiveMode ()에게 전화하십시오.
원리 : FTP 서버는 매번 데이터를 전송하기 위해 다른 포트를 열 수 있지만 Linux 또는 기타 서버에서 보안 제한으로 인해 일부 포트가 활성화되지 않으므로 막힘이 발생할 수 있습니다.
기본 FTP 포트 는 21, SSH는 22이고 실제 전송 포트는 20입니다.
지정된 포트, 예제 21을 봅니다
netstat -na | grep 21 (포트 번호)
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.