Я пытался с помощью 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 до длины моего потока памяти, но затем ее не существует, когда я открываю архив впоследствии. Я пытался переместить позицию моего файлового потока до конца перед записью, но затем архив был поврежден. Чего мне не хватает?
Спасибо!