尝试使用DotNetZip解压缩zip存档时“找不到文件异常”

时间:2011-02-18 16:26:44

标签: asp.net dotnetzip

public void ZipExtract(string zipfilename, string outputDirectory)
{       
    using (ZipFile zip = ZipFile.Read(zipfilename))//file not found exception
    {
        Directory.CreateDirectory(outputDirectory);
        zip.ExtractSelectedEntries("name=*.jpg,*.jpeg,*.png,*.gif,*.bmp", " ", 
            outputDirectory, ExtractExistingFileAction.OverwriteSilently);
    }
}

[HttpPost]
public ContentResult Uploadify(HttpPostedFileBase filedata)
{
    var path = Server.MapPath(@"~/Files");
    var filePath = Path.Combine(path, filedata.FileName);
    if (filedata.FileName.EndsWith(".zip"))
    {
        ZipExtract(filedata.FileName,path);
    }
    filedata.SaveAs(filePath);
    // CreateThumbnail(filePath);
    _db.Photos.Add(new Photo
        {
            Filename = filedata.FileName
        });

    _db.SaveChanges();
    return new ContentResult{Content = "1"};  
}

我尝试提取上传的zip存档并将解压缩的文件保存在文件夹中,但“找不到文件”异常会一直发生。这是什么错误?

1 个答案:

答案 0 :(得分:0)

您是否尝试在此处设置断点,并查看filedata.FileName的值是多少? (看看它是否真的存在于服务器上。)

if (filedata.FileName.EndsWith(".zip"))
      {
        ZipExtract(filedata.FileName,path);
     }