I have a zip stored in azure blob storage which I'm streaming it locally and iterating its entries.
I'm getting the stream like that:
BlobClient blob = _blobServiceClientProp.GetBlobContainerClient(blobExtractionSource.ContainerName)
.GetBlobClient(blobExtractionSource.BlobName);
Stream zipStream = await blob.OpenReadAsync().ConfigureAwait(false);
The stream length is valid (8890655642 bytes).
Using DotNetZip 1.16, I'm reading from the zip stream:
ZipFile zipFile = ZipFile.Read(zipStream);
The problem is that I'm getting wrong number of entries. According to DotNetZip, I have 41082 entries in the zip which is wrong. I checked the number of entries both by the Entries property (zipFile.Entries) and also by iterating and count them manually.
If I switch to IO.Compression.ZipArchive and iterating the zip entries, IO.Compression.ZipArchive is telling me I have 85,413 entries in the zip, which is the right number of entries.
Any suggestions how can I still work with DotNetZip and make it get the right number of entries?
Note that when reading from the same zip locally (after I manually download it) with same version of DotNetZip, I successfully get all the entries.
Through ZipArchive we could able to pull off the exact number. Below is the code that worked for us.
Edit
The Code that worked for us using DotNetZip