ZipArchive не удаляет zip-архив сразуC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 ZipArchive не удаляет zip-архив сразу

Сообщение Гость »

Я создаю zip-файл с помощью ZipArchive + FileStream. Когда в zip-файл добавляется новый элемент, я хотел бы сбросить/записать вновь добавленный элемент под поток zip.
Приведенный ниже код не очищает отдельный элемент zip. Весь zip-архив записывается в файл output.zip при удалении FileStream.
var files = Directory.GetFiles("C:\\Temp","*.pdf");
using (var output = new FileStream("c:\\temp\\output.zip", FileMode.Create, FileAccess.Write))
{
using (System.IO.Compression.ZipArchive zip = new ZipArchive(output, ZipArchiveMode.Create, true))
{
foreach (var file in files)
{
using (var internalFile = new FileStream(file, FileMode.Open))
{

var zipItem = zip.CreateEntry(Path.GetFileName(file));

using var entryStream = zipItem.Open();
{
await internalFile.CopyToAsync(entryStream).ConfigureAwait(false);
}
}

await output.FlushAsync();

// after each file flush the output stream.
// expectation at this point, individual zip item will be written to physical file.
// however I don't see the file size changes in windows explorer.
} // put breakpoint here
}
} // The whole output get flush at this point when FileStream is disposed


Подробнее здесь: https://stackoverflow.com/questions/649 ... mmediately
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»