2017-03-15 4 views
0

Apache IOUtils를 사용하여 파일을 다운로드 중입니다. 다운로드를 다시 시작하기 위해 다음 코드를 사용하고 있습니다 :Apache IOUtils.copyLarge

IOUtils.copyLarge(input,output,localFileSize,fileLengthOnServer - localFileSize); 

문제는 다운로드가 다시 시작되지 않습니다 다시 시작 버튼을 클릭하면,하지만 내 생각으로 내가 볼로 파일에 진전이 없기 때문에, 처음부터 시작 크기는 이미 다운로드 한 크기를 기준으로합니다.

도움주세요.

답변

1

HTTP 서버에서 읽는 것을 알 수 없습니다. 모두는 입력 스트림이며, 사용자가 지정하는 오프셋으로 건너 뛸 수 있습니다. 서버을 사용하려면 HTTP Range: 헤더를 직접 설정해야합니다.

+0

파일을 수동으로 읽으면 setRequestProperty ("Range", "bytes ="+ localFileSize + "-");를 설정할 수 있습니다. 하지만 아파치 코 몬즈 (Apache Commons)를 사용하여이를 수행하는 방법을 모릅니다! – Shoaib

+0

Apache Commons에서는이 작업을 수행 할 수 없습니다. Apache Commons는 HTTP가 아닌'InputStream'을 사용합니다. 너 혼자해야 해. 내 대답이 이미 말한 것입니다. – EJP