2014-06-13 50 views
0

我使用下面的代碼來動態地壓縮內存流,並創建該zip文件內的excel文件.....使用dotnetzip DLL ... ...檔案是在未知的格式或損壞使用Dotnetzip庫來壓縮文件

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"); 

    } 

我得到的壓縮文件創建的文件,但是當我在點擊archive.Zip文件我得到 錯誤

錯誤

存檔或者是未知格式或損壞

會不會有人請在此幫助做飛拉鍊,這將是非常感謝我的時候爲什麼我收到損壞的zip文件。

回答

0

我已糾正我的問題與這條線memoryStream.Seek(0, SeekOrigin.Begin);取代這一個memStream.Seek(0, SeekOrigin.Begin);

相關問題