【问题标题】:converting documents to zip file, Added files and downloading, but while opening getting error将文档转换为 zip 文件,添加文件并下载,但在打开时出现错误
【发布时间】:2017-07-20 18:13:00
【问题描述】:
  1. 成功将文档添加到 zip 添加条目和下载 它。

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

  3. 如果我尝试下载它的 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


【解决方案1】:

我通过使用解决了它

using ICSharpCode.SharpZipLib.Zip;

通过使用(使用 Ionic.Zip;)此数据在内部损坏,甚至不会引发异常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多