or
public static void ZipStream(Stream oInStream, string sFileName, Stream oZipStream) { ZipPackage oZipPackage = ZipPackage.Create(oZipStream); oZipPackage.AddStream(sFileName, oInStream); } public static Stream UnzipStream(Stream oZipStream, int iIndex = 0) //this is incorrect; returns zipped stream { ZipPackage oZipPackage = ZipPackage.Open(oZipStream, FileAccess.Read); return oZipPackage.ZipPackageEntries[iIndex].OpenInputStream(); }
request.BeginGetResponse(result => { var response = request.EndGetResponse(result) as HttpWebResponse; try { // StreamResourceInfo info = new StreamResourceInfo(response.GetResponseStream(), null); //StreamResourceInfo zip = Application.GetResourceStream(info, new Uri("datos", UriKind.RelativeOrAbsolute)); Stream info = response.GetResponseStream(); if (ZipPackage.IsZipFile(info)) { using (ZipPackage zipPackage = ZipPackage.Open(info, FileAccess.Read)) { ZipPackageEntry zip = zipPackage.ZipPackageEntries[0]; using (Stream responseStream = zip.OpenInputStream()) { using (StreamReader reader = new StreamReader(responseStream)) { string texto = reader.ReadToEnd(); lista = JsonConvert.DeserializeObject<List<Reportes>>(texto); dis.BeginInvoke(new AddtoLista(LlenarLista), lista); reader.Close(); responseStream.Close(); } } } } } catch (Exception ex) { throw ex; } }, null);ZipInputStream zis = new ZipInputStream(entry.OpenInputStream());
StreamReader streamReader = new StreamReader(zis);
String text = streamReader.ReadToEnd();
The string (text) is:
ello World!
Am I doing something wrong or is this a bug (a read() instead of a peek() somewhere)?
Thank you!