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 に答える