SevenZipSharp - Добавить файлы в zip и удалить путь к файлу - PullRequest
4 голосов
/ 10 ноября 2010

Я использую SevenZipSharp для сжатия файлов в zip-файл.У меня 2 проблемы:

  1. При многократном использовании CompressFiles для одного и того же файла назначения он не добавляет файлы, а перезаписывает их.

  2. Я бы хотел, чтобы файлы были добавлены без указания всего пути, но, похоже, не могу понять, как (я думал, что PreserveDirectoryRoot = false поможет, но это не так).

У кого-нибудь есть идея?

1 Ответ

3 голосов
/ 10 ноября 2010

Вам нужно использовать CompressionMode.Append после первого звонка.По умолчанию CompressionMode.Create.Путь можно удалить, изменив DirectoryStructure.

Соответствующий исходный код здесь .

    public sealed partial class SevenZipCompressor
#if UNMANAGED
        : SevenZipBase
#endif
    {
        /// Gets or sets the compression mode.
        /// </summary>
        public CompressionMode CompressionMode { get; set; }
        /// <summary>

        /// Gets or sets the value indicating whether to preserve the 
        ///   directory structure.
        /// </summary>
        public bool DirectoryStructure { get; set; }
    }
...