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
あなたが見るエラーは何ですか?例外?他の状態?質問に追加のコンテキストを追加する必要があります。しかし、より良い説明がなくても突き出ていることがいくつかあります。
ZipFile クラスで using() 句を使用します。それは IDisposable です。
.SaveAs() を呼び出す前に、zip ファイルを解凍しようとしているようです。あなたのコードを正しく読めば、それは ZipFile.Read() がまだ作成されていないファイルを読み込もうとしていることを意味します。その場合は、 がスローされ
FileNotFoundException
ます。これについては間違っているかもしれません。あなたからのより多くのテキストは、明確にするのに役立ちます.
于 2011-02-16T16:45:49.160 に答える