将文件转换为zip文件,添加文件和下载,但在打开时收到错误

时间:2017-07-20 18:13:01

标签: c# asp.net zip zipfile ziparchive

  1. 成功将文档添加到zip添加条目和下载 它

  2. 但是在打开例如Doc1时,Doc2如果我下载了        只有doc1(下载并查看成功)

  3. 如果我尝试下载的doc2,但是        打开时(无法打开文件,它似乎没有效果        archieve,打开时再试一次这个消息)。如果我检查了两个       并下载并成功下载,我可以打开它。

  4. 任何帮助非常感谢

    ZipFile zip = new ZipFile();
    
    foreach (GridDataItem item in RadGridSearchResults.MasterTableView.Items)
    {
        int documid;             
        bool chec;
        CheckBox check = (CheckBox)item.FindControl("CheckBox1");
        DocDetails dd = new DocDetails();
        if (check.Checked == true)
        {
            documid = Convert.ToInt32(item["DOCUMENT_ID"].Text);
            Document document = Document.GetDocumentByDocumentId(documid);    
            zip.AddEntry(document.DocumentName, document.DocumentFileImage);
    
        }                      
    }
    
    var zipMs = new MemoryStream();
    zip.Save(zipMs);
    
    byte[] fileData = zipMs.GetBuffer();           
    zipMs.Seek(0, SeekOrigin.Begin);
    zipMs.Flush();
    
    Response.Clear();
    Response.AddHeader("content-disposition", "attachment;filename=docs.zip ");
    Response.ContentType = "application/zip";
    Response.BinaryWrite(fileData);
    Response.End();
    

1 个答案:

答案 0 :(得分:0)

我使用

解决了这个问题
using ICSharpCode.SharpZipLib.Zip;

通过使用(使用Ionic.Zip;)这个数据在内部破坏,甚至没有抛出异常