使用DotNetZip解压缩文件的问题。它不提取文件。有什么问题?

时间:2011-02-16 09:27:41

标签: asp.net dotnetzip

private void ZipExtract(string zipfilename)
{
    var path = Server.MapPath(@"~/Files");
    ZipFile zip = ZipFile.Read(zipfilename);
    zip.ExtractSelectedEntries("name=*.jpg,*.jpeg,*.png,*.gif,*.bmp", " ", path,ExtractExistingFileAction.OverwriteSilently);
}


[HttpPost]
public ContentResult Uploadify(HttpPostedFileBase filedata)
{
    var path = Server.MapPath(@"~/Files");
    var filePath = Path.Combine(path, filedata.FileName);
    if (filedata.FileName.Contains(".zip"))
    {
        ZipExtract(filedata.FileName);
    }
    filedata.SaveAs(filePath);
}

1 个答案:

答案 0 :(得分:0)

你看到的错误是什么?例外?其他条件?您需要在问题中添加一些其他上下文。但即使没有更好的描述,也有一些事情会突出。

  1. 对ZipFile类使用using()子句;它是IDisposable。

  2. 在调用.SaveAs()之前,您似乎尝试解压缩zip文件。如果我正确读取您的代码,这意味着ZipFile.Read()正在尝试读取尚未创建的文件。如果是这种情况,则会抛出FileNotFoundException。我可能错了;你的更多文字将有助于澄清。