public async Task <string> ZipS3Files(FilesToZip filesToZip)
        {
            var downloadKey = GetNewDownloadKey;

            using (var zipStream = new MemoryStream())
            {
                using (var archive = new ZipArchive(zipStream, ZipArchiveMode.Create, true))
                {
                    foreach (var key in filesToZip.FileKeys)
                    {
                        using (var objectResponse = await s3Client.GetObjectAsync(filesToZip.BucketNameFrom, key))
                        {
                            var readmeEntry = archive.CreateEntry(Path.GetFileName(key));
                            using (var entryStream = readmeEntry.Open())
                            {
                                await objectResponse.ResponseStream.CopyToAsync(entryStream);
                            }
                        }
                    }
                }
                using (var ut = new TransferUtility(s3Client))
                {
                    await ut.UploadAsync(zipStream, filesToZip.BucketToZip, downloadKey);
                }
            }
            return(downloadKey);
        }
        public async Task <string> StreamZippedS3Files(FilesToZip filesToZip)
        {
            var base64 = string.Empty;

            using (var zipStream = new MemoryStream())
            {
                using (var archive = new ZipArchive(zipStream, ZipArchiveMode.Create, true))
                {
                    foreach (var key in filesToZip.FileKeys)
                    {
                        using (var objectResponse = await s3Client.GetObjectAsync(filesToZip.BucketNameFrom, key))
                        {
                            var readmeEntry = archive.CreateEntry(Path.GetFileName(key));
                            using (var entryStream = readmeEntry.Open())
                            {
                                await objectResponse.ResponseStream.CopyToAsync(entryStream);
                            }
                        }
                    }
                }
                base64 = Convert.ToBase64String(zipStream.ToArray());
            }
            return(base64);
        }