Как добавить в существующий файловый архив, используя SharpCompress или ICSharpCode - PullRequest
0 голосов
/ 18 февраля 2020

Я пытался с помощью ICSharpCode и SharpCompress добавить в существующий zip-архив. Я открываю поток файлов для чтения / записи, а затем вызываю код, например:

(файлы - это список «FileObjects», в которых есть MemoryStream, который я записал ранее в этом процессе.)

        using (var zipWriter = WriterFactory.Open(targetAvatarFile.MemoryStream, ArchiveType.Zip, CompressionType.Deflate))
        {
            foreach (var file in files)
            {
                zipWriter.Write(file.referencePAth, file.MemoryStream);
            }
        }

Позиция в zip-архиве изменяется от 0 до длины моего потока памяти, но затем ее не существует, когда я открываю архив впоследствии. Я пытался переместить позицию моего файлового потока до конца перед записью, но затем архив был поврежден. Чего мне не хватает?

Спасибо!

...