or
Hello
I'm trying to create a ZIP file from Silverlight with a list of JSON data and compresses well. The problem is to receive it in the server because I have no library Telerik receive the Zip to extract and process the result. The library I am using is IonicZip to receive the result but I get error trying to read the MemoryStream. Is there a library for ASP.net Telerik decompress the ZIP file
Code in Silverlight:Code in WCF:MemoryStream memoryStream =newMemoryStream();ZipCompression method = ZipCompression.Default;Telerik.Windows.Zip.ZipOutputStream zipOutputStream =newTelerik.Windows.Zip.ZipOutputStream(memoryStream, method);StreamWriter writer =newStreamWriter(zipOutputStream);writer.Write(listSave.ToJSON());writer.Flush();ServicesClient context =newServicesClient();context.SetZipFileAsync( Convert.ToBase64String(memoryStream.ToArray()));publicvoidSetZipFile(string_parameter){if(!string.IsNullOrWhiteSpace(_parameter)){var info = Convert.FromBase64String(_parameter);MemoryStream stream =newMemoryStream(info);stringdataList =string.Empty;MemoryStream output =newMemoryStream();StreamReader read =newStreamReader(output);using(ZipFile zip = ZipFile.Read(stream)){ZipEntry item = zip[0];item.Extract(output);output.Seek(0, SeekOrigin.Begin);dataList = read.ReadToEnd();}}}
string wavFilePath = @"C:\1\cheer.wav";string wavFileNewPath = @"C:\1\cheerNew.wav";string zipFilePath = @"c:\1\123.zip";private void btnCompress(object sender, RoutedEventArgs e){ FileStream fs = new FileStream(wavFilePath, FileMode.Open); SizeBefore.Text = fs.Length.ToString(); using (ZipPackage zipFile = ZipPackage.CreateFile(zipFilePath)) { zipFile.AddStream(fs, "cheer.wav", ZipCompression.Default, DateTime.Now); zipFile.Close(true); } }private void btnUncompress(object sender, RoutedEventArgs e){ using (ZipPackage zipFile = ZipPackage.OpenFile(zipFilePath, FileAccess.Read)) { ZipPackageEntry zipEntry = zipFile.ZipPackageEntries[0]; Stream strm = zipEntry.OpenInputStream(); byte[] Bytes = new byte[strm.Length]; strm.Read(Bytes, 0, (int)strm.Length); using (FileStream fs = new FileStream(wavFileNewPath, FileMode.Create)) { fs.Write(Bytes, 0, Bytes.Length); fs.Close(); } } }
Dim inputStream As New ZipInputStream(memStream)