Apache FTPServer에 파일을 업로드하는 데 apache org.apache.commons.net.ftp.FTPClient를 사용하고 있습니다. org.apache.commons.net.ftp.FTPClient.storeFile을 호출하면 "551 Output file on Error"오류로 항상 실패합니다.551 출력 파일에 오류가 발생했습니다.
이것은
public class FileOperations {
def ftp (params) {
def ftp = new FTPClient()
try {
ftp.connect(params.host, params.port)
println ftp.getReplyString()
int reply = ftp.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
System.err.println("FTP server refused connection.");
return
}
boolean successLogin = ftp.login(params.username, params.password)
println ftp.getReplyString()
if(!successLogin) {
println "FTP login unsuccessful "+params.username
return
}
ftp.setFileType(FTPClient.BINARY_FILE_TYPE)
println ftp.getReplyString()
ftp.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE)
println ftp.getReplyString()
String absoluteFilename=params.file
def isSuccessful = ftp.storeFile(params.file,new FileInputStream(absoluteFilename))
println ftp.getReplyString()
ftp.logout()
} finally {
if(ftp.isConnected())
ftp.disconnect()
}
}
static main(args) {
def operations = new FileOperations();
def params = [:]
params.put "host","localhost"
params.put "port",2121
params.put "username","test"
params.put "password","test"
params.put "file","C:/tmp/sample.txt"
operations.ftp(params)
}
}
출력이 새 사용자
220 서비스 준비가되어 내 프로그램입니다.
230 로그인 한 사용자는 계속 진행하십시오.
200 명령 유형이 정상입니다.
200 명령 MODE OK.
551 /C:/tmp/sample.txt : 출력 파일에서 오류가 발생했습니다.
이 오류의 의미를 이해할 수 없습니다. 누구든지이 문제를 해결할 수 있도록 도와 주시겠습니까?