private async Task <List <string> > UnZipAsset(OVEAssetModel asset, Stream zipFile) { string prefixFolder = asset.StorageLocation.Split("/").FirstOrDefault() + "/"; List <string> filesUploaded = new List <string>(); var archive = new ZipArchive(zipFile); foreach (var entry in archive.Entries.Where(f => f.FullName.Contains("."))) { // only files var location = UnzipLocation(entry.FullName, prefixFolder); using (var file = entry.Open()) { //raw unzipped streams do not have length so copy to memory stream using (var ms = new MemoryStream()) { await file.CopyToAsync(ms); await _fileOps.Upload(asset.Project, location, ms); } } filesUploaded.Add(location); } return(filesUploaded); }