DinoChiesa / DotNetZip

Library for creating and reading .ZIP files from a .NET Language
Other
120 stars 41 forks source link

Question: Is it possible to use this to zip data from an input stream to an output stream without storing the entire completed zip nor all the source files in memory at any point? #18

Open GNUGradyn opened 2 years ago

GNUGradyn commented 2 years ago

Hi. I'm writing an asp.net program that needs to be able to create a zip of some files from azure blob storage and send them to the user for download. The system could potentially be creating many of these zips at once, so either an unreasonable amount of temporary storage or an unreasonable amount of memory would be required on my kubernetes pods for this to be possible the "normal" way of using MemoryStreams to store the input/output and then stream the output to the downloader.

My idea was to stream the data from azure storage, into this library, and then directly out to the users download stream. This way, neither the source files nor the output zip would be 100% in memory at once. It would essentially be creating the zip in real time during the download and disposing data its done with as it goes