1
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 存档并将提取的文件保存在一个文件夹中,但“找不到文件”异常一直发生。有什么错误?

4

1 回答 1

0

你有没有试过在这里设置断点,看看 filedata.FileName 有什么值?(并查看它是否确实存在于服务器上。)

if (filedata.FileName.EndsWith(".zip"))
      {
        ZipExtract(filedata.FileName,path);
     } 
于 2011-02-18T16:35:56.130 回答