【发布时间】:2017-07-20 18:13:00
【问题描述】:
成功将文档添加到 zip 添加条目和下载 它。
但在打开例如 Doc1、Doc2 时,如果我下载 只有doc1(下载并查看成功)
如果我尝试下载它的 doc2,但是 打开时(无法打开文件,它似乎不是有效的 存档,再试一次,这是打开时的消息)。如果我同时检查了 并下载,下载成功,可以打开了。
非常感谢任何帮助
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();
【问题讨论】:
-
我认为,直接从数据库下载文件并添加到 zip 会导致内部错误,是否可以下载到本地文件夹并将整个文件夹转换为 zip 并下载并清除文件夹数据
标签: c# asp.net zip zipfile ziparchive