我使用下面的代码动态地压缩内存流并在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文件,这对我很感激。
答案 0 :(得分:0)
我已使用此行memoryStream.Seek(0, SeekOrigin.Begin);
替换此memStream.Seek(0, SeekOrigin.Begin);