업로드 할 파일이 있습니다 (예 : abc.pdf
). 처음으로이 파일을 임시 파일 (예 : abc.pdf.temp
)로 업로드하고 싶습니다. 그런 다음 파일이 성공적으로 전송 된 경우 (완전히 전송 된 경우) 원본 이름 (abc.pdf
)으로 이름을 바꿔야합니다. 그러나 파일이 완전히 전송되지 않은 경우 서버에 손상된 파일을 보관하고 싶지 않기 때문에 처음에 업로드 한 임시 파일을 삭제해야합니다. 이 JSch 라이브러리를 사용하여 달성 할 수 있습니까? 아래는 샘플 코드입니다. 이것을 달성하는 데이 코드가 의미가 있습니까?JSch 라이브러리를 사용하여 업로드 재시도 메커니즘
샘플 코드 :
originalFile = 'abc.pdf';
tempFile = 'abc.pdf.temp';
fileInputStream = createobject("java", "java.io.FileInputStream").init('C:\abc.pdf');
SftpChannel.put(fileInputStream,tempFile);
// Comparing remote file size with local file
if(SftpChannel.lstat(tempFile).getSize() NEQ localFileSize){
// Allow to Resume the file transfer since the file size is different
SftpChannel.put(fileInputStream,tempFile,SftpChannel.RESUME);
if(SftpChannel.lstat(tempFile).getSize() NEQ localFileSize){
// Check again if the file is not fully transferred (During RESUME) then
// deleting the file since dont want to keep a corrupted file in the server.
SftpChannel.rm(tempFile);
}
}else{//assuming file is fully transferred
SftpChannel.rename(tempFile ,originalFile);
}
이것은 코드 작성 서비스가 아닙니다. 이 문제를 구현할 때 특히 어떤 문제가 있습니까? 너는 무엇을 이미 시도 했는가? 코드를 보여주세요. –
이 정보를 얻기 위해 superuser.com을 사용할 수 있습니까? – user3742125
나는 이해하지 못한다. 프로그래밍 질문이 있습니다. 그래서 여기 물어봐야합니다. 그러나이 사이트의 범위를 묻는 질문을해야합니다. 여기에는 현재 코드와 특정 문제가 포함되어야합니다. 당신은 특정한 문제를 묻지 않았습니다. 당신은 우리에게 당신을 위해 당신의 일을하라고 요구하고 있습니다. –