正如標題所示,我試圖在zip中創建一個zip文件。使用ZipArchive類在C#中創建歸檔文件夾
我有一個變量來創建一個zip壓縮文件名爲「TargetFilePath」
var projectDirectoryPath = currentProjectViewModel.DirectoryPath;
ZipFile.CreateFromDirectory(projectDirectoryPath, [email protected]"/Project.zip");
以上都不行,我假設,因爲路徑C:\ test.zip \ project.zip不是有效路徑。
編輯爲了清楚起見:我從字面上想要壓縮一些文件並將該壓縮文件放入另一個壓縮文件中。它必須使用System.IO.Compression,而不是第三方方法。
從我的理解,你必須創建一個目標地址爲zip文件,並且,也是從我的經驗,目標地址不能是無效的路徑,如「C:\ test.zip \ project.zip」
遞歸調用也許? –
如果'projectDirectoryPath'有一個.zip文件+其中的任何其他文件,那麼它應該工作。如果您已經有一個.zip文件,並且想要將zip文件添加到該文件中,那麼[this](https://msdn.microsoft.com/zh-cn/library/hh158346(v = vs.110).aspx )是做到這一點的一種方式,但對我來說這看起來很痛苦。我只會努力工作,首先創建內部zip文件,然後將其壓縮,而不是創建outter zip並將其他文件添加到其中。有關其他選項,請參閱[此處](https://msdn.microsoft.com/en-us/library/system.io.compression.zipfile(v = vs.110).aspx)的備註。 – Quantic
或者,將現有壓縮文件解壓縮到一個目錄中,將其他壓縮文件複製到該目錄中,然後使用您擁有的相同命令壓縮該文件夾。我這樣說是因爲[ZipArchive.CreateEntry](https://msdn.microsoft.com/en-us/library/hh158346(v = vs.110).aspx)看起來很笨拙,你不能只是「添加這個文件到壓縮文件「,您必須以某種方式將文件流式傳輸到該文件中。如果你有這些資源,那麼只需使用一些IO,一段時間讓生活更輕鬆,IMO。 – Quantic