Я довольно много огляделся, и, похоже, нет никакой информации об использовании sharpziplib для извлечения нескольких zip-файлов в один и тот же каталог. Я использую Telerik Control RadUpload для загрузки двух разных zip-папок, и при загрузке они автоматически распаковываются в папку с тем же именем, что и zip, в тот же каталог.
Например: у меня есть autocorrect.zip и Entertainment.zip. Автозамена извлекает в папку с именем «автозамена», а развлекательные извлечения — в папку с названием «развлечения». Автозамена в первом поле, а развлечения во втором.
Но в папке извлечения появляются только "развлечения". Теперь я думаю, что это связано с тем, что в настоящее время у меня настроен метод распаковки, поскольку он принимает первое значение «автозамена», а затем также принимает «развлечение» в качестве первого значения после этого, поэтому «автозамена» больше не указан для извлечения .
Вот мой код для метода распаковки, если вы считаете, что другие части моего кода помогут, скажите, и я опубликую больше:
public static void UnZip(string sourcePath, string targetPath)
{
//Creates instance of fastzip from library ICSharpCode
ICSharpCode.SharpZipLib.Zip.FastZip fz = new FastZip();
//Extracts zip from sourcePath to target path which is chosen in the button click methods
fz.ExtractZip(sourcePath, targetPath, "");
}
РЕДАКТИРОВАТЬ: Вот метод кнопки, который вызывает распаковку с путем сохранения для zip-файлов и путем сохранения для извлеченных zip-файлов (забыл сказать, что он отлично работает для одного zip-файла, но не для нескольких zip-архивов)
protected void SubmitButton_Click(object sender, EventArgs e)
{
//Gets the name of the file being uploaded
foreach (UploadedFile file in RadUpload1.UploadedFiles)
{
fileName = file.GetName();
}
//Path where zip files are uploaded
String savePath = @"C:\Users\James\Documents\Visual Studio 2012\WebSites\CourseImport\CourseTelerik\";
//Adds name of uploaded file onto end of saved path
savePath += fileName;
//Path where the extracted files from the uploaded zip are placed
String unZipPath = @"C:\Users\James\Documents\Visual Studio 2012\WebSites\CourseImport\CourseTelerikExtract\";
unZipPath += fileName;
//Runs unzipping method
UnZip(savePath, unZipPath);