제목에서 말한 것처럼 우편으로 지퍼를 만들려고합니다. \ test.zip \ project.zip 유효한되지 않습니다 : 경로 C가 있기 때문에ZipArchive 클래스를 사용하여 C#의 아카이브 내부에 아카이브를 만듭니다.
나는, 내가 가정입니다 "TargetFilePath"
var projectDirectoryPath = currentProjectViewModel.DirectoryPath;
ZipFile.CreateFromDirectory(projectDirectoryPath, [email protected]"/Project.zip");
은 위의 작동하지 않습니다라는 변수에 생성 우편 아카이브를 가지고 통로.
편집 : 명확하게 말하면 일부 파일을 압축하여 다른 압축 파일에 압축을 넣고 싶습니다. 타사 방식이 아닌 System.IO.Compression을 사용해야합니다.
: 나의 이해에서내 경험 또한, 압축 파일의 대상 주소를 생성해야하고, 그 대상 주소는 "\ test.zip \ project.zip C"로 잘못된 경로가 될 수 없습니다
재귀 호출은 아마도? –
'projectDirectoryPath'에 .zip 파일 + 그 안에있는 다른 파일이 있으면 그냥 작동해야합니다. 이미 .zip 파일이 있고 그 파일에 zip 파일을 추가하려면 [this] (https://msdn.microsoft.com/en-us/library/hh158346(v=vs.110) .aspx) 그것을하는 한 가지 방법이지만 그것은 나에게 고통처럼 보입니다. 난 그냥 안으로 밖으로 일하고, 내부 zip 파일을 먼저 만든 다음 우편 번호를 만들고 대신 다른 파일을 추가하는 대신 압축하십시오. 다른 옵션에 대해서는 [here] (https://msdn.microsoft.com/en-us/library/system.io.compression.zipfile (v = vs.110) .aspx)를 참조하십시오. – Quantic
또는 기존 zip 파일을 디렉토리로 추출하고 다른 zip 파일을 복사 한 다음 동일한 명령을 사용하여 해당 폴더를 압축하십시오. 나는이 말을 [ZipArchive.CreateEntry] (https://msdn.microsoft.com/en-us/library/hh158346(v=vs.110) .aspx)는 당신이 할 수없는 곳에서는 다루기 힘들어 보입니다. 파일을 zip "으로 변환하려면 파일을 어떻게 든 스트리밍해야합니다. 리소스가 있다면 약간의 IO와 약간의 시간을 사용하여 삶을 편하게 만듭니다. IMO. – Quantic