0

When I try and extract the "test.png" I receive the following error: This stream does not support seek operations.

Also can a wildcard be used? var entry = zipout["*.png"]; I will not know the same when streaming.

            var request = (HttpWebRequest)WebRequest.Create("http://www.xxx.xxxx.com/xxx/xxxx?key=ndXqH2fXzePomlVoX39trxUf%2FV1bfN0rZsHsTyEvI%2F0%3D&labelFormat=png");

            using (var ms = new MemoryStream())
            {
               using (var response = (HttpWebResponse)request.GetResponse())
               {
                  using (var stream =response.GetResponseStream())
                  {
                    using (var zipout = ZipFile.Read(stream))
                    {
                        var entry = zipout["test.png"];
                        entry.Extract(ms);
                    }
                  }
                }
            }

Updated

            using (var response = request.GetResponse())
            {
                using (var responseStream = response.GetResponseStream())
                {
                    using (var stream = new MemoryStream())
                    {
                        if (responseStream != null)
                        {
                            responseStream.CopyTo(stream);
                        }

                        using (var zipout = ZipFile.Read(stream))
                        {
                            using (var ms = new MemoryStream())
                            {
                                var entry = zipout["test.png"];
                                entry.Extract(ms);
                            }
                        }
                    }
                }
            }

New error: Message = "Cannot read that as a ZipFile"

Clare Barrington
  • 1,135
  • 1
  • 11
  • 28

1 Answers1

0
var request = (HttpWebRequest)WebRequest.Create("var request = (HttpWebRequest)WebRequest.Create("http://www.xxx.xxxx.com/xxx/xxxx?key=ndXqH2fXzePomlVoX39trxUf%2FV1bfN0rZsHsTyEvI%2F0%3D&labelFormat=png");

            using (var response = request.GetResponse())
            {
                using (var responseStream = response.GetResponseStream())
                {
                    using (var stream = new MemoryStream())
                    {
                        if (responseStream == null)
                        {
                            return;
                        }

                        responseStream.CopyTo(stream); 
                        stream.Position = 0;

                        using (var zipout = ZipFile.Read(stream))
                        {
                            using (var ms = new MemoryStream())
                            {
                                var entry = zipout["test.png"];

                                if (entry != null)
                                {
                                    entry.Extract(ms);
                                }
                                else
                                {
                                    return;
                                }
                            }
                        }
                    }
                }
            }
Clare Barrington
  • 1,135
  • 1
  • 11
  • 28