Я использую DotNetZip DLL (http://dotnetzip.codeplex.com/) из codeplex для архивирования некоторых файлов в моей программе.
Проблема, с которой я сталкиваюсь, заключается в том, что после архивирования файлов сохраняется структура каталогов, а при извлеченииzip-файл, все родительские папки создаются заново, и только тогда я могу просмотреть файл. Это очень раздражает, когда исходный файл существует в
Итак, если я архивирую файл из g: \ Archive\ LogFiles \ W3SVC1 \ abc.log и создание файла 'abc.zip' после его распаковки, создаются папки Archive \ LogFiles \ W3SVC1 \, и только тогда я вижу файл abc.log. Здесь 'g:' - это файлимя моего общего диска.
Я хочу избавиться от всех этих родительских папок, чтобы я мог сразу извлечь и добраться до заархивированного файла и открыть его. Я проверил свойство Path файла Zipped ион показывает Archive \ LogFiles \ W3SVC1. Почему-то мне нужно удалить это программно, но я не могу легко найти какой-либо вариант.
Код, который я использую, выглядит следующим образом:
using (ZipFile zip = new ZipFile())
{
if (fileExtension != null)
{
zip.AddFiles(from f in sourceDir.GetFiles() where f.FullName.EndsWith(fileExtension) select f.FullName);
}
else
{
zip.AddFiles(from f in sourceDir.GetFiles() select f.FullName);
}
zip.Save(DestinationDir + OutFileName);
}
Я также попробовал метод перегрузки Addfiles, установив значение параметра falseDirectoryHierarchy равным false, но безрезультатно.
Пожалуйста, дайте мне знать, что делать.
Заранее большое спасибо.