문제

SharpZiplib를 사용할 때 오류가 발생합니다. 나는 보이는 코드가 있습니다

FastZip compressor = new FastZip();
compressor.CreateZip(outputFileName, currentWorkingDirectory, true, "");

옳은 것 같습니다. 그러나 나는 그것을 주장하는 zipexception을 얻는다

size was 0, but I expected 54

나는 그것이 무엇을 의미하는지 전혀 모른다. 누구든지 통찰력이나 API 문서에 대한 링크가 있습니까?

도움이 되었습니까?

해결책

문제는 다음과 같습니다. 주어진 디렉토리의 모든 항목의 .zip 파일을 만들고 해당 .zip 파일을 디렉토리에 배치하려고했습니다. 분명히이 라이브러리가 작동하는 방식으로 .zip 파일이 생성 된 다음 디렉토리는 파일별로 .zip 파일로 쓸 수 있습니다. .zip 파일 자체를 zip에 추가하려고 할 때 오류가 발생했습니다! 아마도 그 시점에서 파일이나 무언가에 대한 액세스가 거부되어 위의 오류가 발생했습니다. 간단한 수정은 다른 디렉토리에서 .zip 파일을 만드는 것입니다.

다른 팁

여기 소스 코드에 대한 링크 및 API 문서가있는 도움말 파일입니다.

ProgressHandler 이벤트 핸들러 내부에서 처리하여 비슷한 문제를 해결하고 Zipentry를 발신자로 전달했습니다. 오류 조건이므로 ZIP 파일의 추가 처리를 중지해야합니다. E.ContinuerUnning은 False로 설정해야합니다.

private void ProcessFileHandler(object sender, ProgressEventArgs e)
        {                    
                ZipEntry newEntry = sender as ZipEntry;
                if (newEntry != null)
                {
                    newEntry.Size = e.Processed;
                }
                e.ContinueRunning = keepRunning;
                return;
         }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top