ZipArchive从Web服务的列表中创建无效的zip文件

时间:2018-12-28 08:57:35

标签: c# list file web-services zip

我无法获取要压缩的文件。

Web服务正在为我提供正确的文件,例如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();
    }
}

感谢帮助或任何建议,

0 个答案:

没有答案