ZipArchive создает недопустимый zip-файл в списке из веб-сервисов - PullRequest
0 голосов
/ 28 декабря 2018

У меня проблема с получением файлов в zip-формате.

Веб-сервис предоставляет мне нужные файлы, например, www.XYP.com/GetFile?=1234, когда я открываю URL-адрес, происходит автоматическая загрузкафайл, но после того, как я заархивирую этот документ, его неправильные файлы, которые являются разрушителями

Мой код здесь:

private void CreatedZipFile(Dictionary<int, string> listChecked)
{
    using (MemoryStream memoryStream = new MemoryStream())
    {
        using (ZipArchive archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true))
        {
            foreach (KeyValuePair<int, string> kvp in listChecked)
            {
                ZipArchiveEntry demoFile = archive.CreateEntry(kvp.Key.ToString() + kvp.Value.ToString() + ".pdf");  
                string strDownLoad = System.Configuration.ConfigurationManager.AppSettings["GETFILESERVICES"] + kvp.Key.ToString();

                WebService control = new WebService();

                var clientnew = new System.Net.WebClient().DownloadData(strDownLoad);

                using (var entryStream = demoFile.Open())
                {
                    using (StreamWriter streamWriter = new StreamWriter(entryStream))
                    {
                        streamWriter.BaseStream.Write(clientnew, 0, clientnew.Length);
                        streamWriter.Close();
                    }
                }
            }
        }
        byte[] bytesInStream = memoryStream.ToArray();

        Response.ContentType = "application/zip";
        Response.AddHeader("content-disposition", "attachment; filename=file.zip");
        Response.Buffer = true;

        Response.Clear();

        Response.BinaryWrite(bytesInStream);
        Response.Flush();
        //MemoryStream.WriteTo(Response.OutputStream); //works too
        Response.End();
    }
}

Спасибо за помощь или любой совет,

...