2011-02-18 63 views
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压缩包,并保存在文件夹中提取文件,但“未找到文件”异常发生的时间。什么是错误?“文件未发现异常”试图提取zip归档与DotNetZip

+0

这是你问同样的quesiton以前http://stackoverflow.com/questions/5014659和FileNotFound例外的是什么,我认为你会看到,在我对前一个问题的回答中。 http://stackoverflow.com/questions/5014659/problem-with-extracting-files-with-dotnetzip-it-doesnt-extract-files-whats-th/5019364#5019364 – Cheeso 2011-02-23 00:41:48

回答

0

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

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