2012-09-11 2 views
0

내가 얻으려고하는 것은 응용 프로그램이 ftp 또는 http에서 큰 원격 파일을 추출 할 수 있도록 완전히 다운로드하지 않고 네트워크의 경우 추출을 재개 할 수있게하는 것입니다 실패. 이 예Sharpzlib 이력서와 함께 ZipInputStream을 읽으십시오

http://wiki.sharpdevelop.net/SharpZipLib-Zip-Samples.ashx#Unpack_a_zip_using_ZipInputStream_eg_for_Unseekable_input_streams_5

내가 파일을 추출 할 수있어하지만 네트워크 장애의 경우에 추출을 재개 할 수 없어요 다음

. ZipInputStream.Skip (length)을 사용하려고했습니다. "length"는 로컬로로드/압축 해제 된 파일의 크기이지만 작동하지 않는 것 같습니다.

유형 'ICSharpCode.SharpZipLib.SharpZipBaseException'의 첫 번째 예외가 ICSharpCode.SharpZipLib.dll 깨진 압축 블록

어떤 생각에서 발생 : 그것은 예외처럼 던져? 이 문제를 해결할 수 있습니까?

답변

0

포럼에서 Sharpzlib 팀의 대답을 얻었습니다.

이렇게 할 수 있습니다. 간단 해. 새로운 ZipInputStream을 인스 턴싱 할 때는 FTP 연결과 FtpWebResponse에서 얻은 스트림을 래핑하는 "특수화 된"스트림을 전달해야합니다.

sharpzlib 팀이 thei 위키 사이트에 예제로 추가했습니다. 마지막 튜토리얼보기

https://github.com/icsharpcode/SharpZipLib/wiki/Zip-Samples

관련 문제