Search code examples
c#memorystream

Trying to convert a ZipArchiveEntry into a byte[]


I am trying to take a list of ZipArchiveEntrys and convert them into byte arrays, but I am logistically running into a wall.

So far I am trying to convert it into a MemoryStream to convert it into the byte[] like this:

public static void ScanUpload(List<ZipArchiveEntry> scan)
{
    foreach (var s in scan)
    {                           
        using (var ms = new MemoryStream())
        {

        }
    }
}

But I have no idea what comes next. or even if this is the right way to go about this. Would someone be able to help?


Solution

  • You should be able to read from the stream that ZipArchiveEntry.Open() returns:

    foreach (var s in scan)
    {            
        var stream = s.Open();
        byte[] bytes;
        using (var ms = new MemoryStream())
        {
             stream.CopyTo(ms);
             bytes = ms.ToArray();
        }
    }