/// <summary> /// Creates a new in memory archive from a given stream of zipped data. /// </summary> /// <param name="data">the zip compressed 3dxml archive</param> /// <returns>a new instance of a ThreeDXMLFile</returns> public static IThreeDXMLArchive Create(Stream data) { var dict = new Dictionary<string, Stream>(); using (var zipArchive = ZipFile.Read(data)) { foreach (var entry in zipArchive.Where(entry => !entry.IsDirectory)) { var name = entry.FileName.ToLower(); var fileStream = new MemoryStream(); entry.Extract(fileStream); dict.Add(name, fileStream); } } var archive = new ThreeDXMLFile(dict); data.Close(); return archive; }
/// <summary> /// Creates a new in memory archive from a given stream of zipped data. /// </summary> /// <param name="data">the zip compressed 3dxml archive</param> /// <returns>a new instance of a ThreeDXMLFile</returns> public static IThreeDXMLArchive Create(Stream data) { var dict = new Dictionary <string, Stream>(); using (var zipArchive = ZipFile.Read(data)) { foreach (var entry in zipArchive.Where(entry => !entry.IsDirectory)) { var name = entry.FileName.ToLower(); var fileStream = new MemoryStream(); entry.Extract(fileStream); dict.Add(name, fileStream); } } var archive = new ThreeDXMLFile(dict); data.Close(); return(archive); }