Comprimir el archivo con dotnetzip, y cuando está abierto está dañado

Creo un archivo zip en un controlador a partir de una matriz de bytes y devuelvo el archivo zip como un archivo. Cuando descargo el archivo zip y extraigo el archivo, está dañado. Lo estoy haciendo de esta manera:

byte[] fileBytes =array
MemoryStream fileStream = new MemoryStream(fileBytes);
MemoryStream outputStream = new MemoryStream();
fileStream.Seek(0, SeekOrigin.Begin);

using (ZipFile zipFile = new ZipFile())
{
    zipFile.AddEntry(returnFileName, fileStream);
    zipFile.Save(outputStream);
}

outputStream.Position = 0;

FileStreamResult fileResult = new FileStreamResult(outputStream, System.Net.Mime.MediaTypeNames.Application.Zip);
fileResult.FileDownloadName = returnFileName + ".zip";

return fileResult;

Respuestas a la pregunta(2)

Su respuesta a la pregunta