存档使用未知格式或使用Dotnetzip库损坏zip文件

时间:2014-06-13 10:33:20

标签: c# .net asp.net-mvc excel dotnetzip

我使用下面的代码动态地压缩内存流并在zipfile中创建excel文件.....使用dotnetzip dll ......

   public ActionResult ExportToExcel()
    {

        byte[] file;

        DataTable dt = common.CreateExcelFile.ListToDataTable(GetSearchDraftPRResults());
        common.CreateExcelFile excelFileForExport = new CreateExcelFile();
        file = excelFileForExport.CreateExcelDocumentAsStream(dt, targetFilename);
        Response.Buffer = true;

        var memStream = new MemoryStream(file);

        var memoryStream = new MemoryStream();
        using (var zip = new ZipFile())
        {
            zip.AddEntry("Generate-Excel.xlsx","", memStream);                
            zip.Save(memoryStream);
        }

        memStream.Seek(0, SeekOrigin.Begin);
        return File(memoryStream, "application/octet-stream", "archive.zip");

  }

我将文件创建为zip文件但是当我点击 archive.Zip 文件时,我得到了 错误

错误

  

存档处于未知格式或已损坏

任何人都应该帮忙解决这个问题,为什么我在飞行拉链时会收到损坏的zip文件,这对我很感激。

1 个答案:

答案 0 :(得分:0)

我已使用此行memoryStream.Seek(0, SeekOrigin.Begin);替换此memStream.Seek(0, SeekOrigin.Begin);

来纠正我的问题