2011-12-19 2 views
0

При использовании dotnetzip не только почтовый каталог как C: \ Users \ Тинтин \ этоDotnetZip вопрос путь

, но он также будет пронестись пользователей/Тинтин, который я не хочу. Я хочу, чтобы он застегнул последнюю папку, так что все и все файлы там.

Я использую

AddSelectedFiles("*.*",path,true); 

Вероятно, очень простой, но я, кажется, слепы к нему.

+0

я предполагаю путь = C: \ Users \ Тинтин \ это? –

+0

Да, просто см. Путь как любая карта на C или любом другом диске. Проблема в том, что он добавит все папки перед тем, который я хочу заархивировать. Поэтому, если папка будет называться «Это», и я ее застегнул, она будет индексироваться как «Пользователи» -> «TinTin» -> «This» -> Content. Хотя мне просто нужна карта «Это» -> Контент .. Я сосать объяснение! –

+0

Quincy: Пожалуйста, предоставьте здесь код метода сохранения –

ответ

0

Я полагаю, вы используете что-то вроде:

AddDirectory("c:\users\tintin\this"); 

Однако documentation состояний:

Если вы хотите, чтобы данные появляются в содержащем каталог в самом архиве зип , то вам должен вызвать перегрузку AddDirectory(), которую позволяет явно указать путь к каталогу для использования в архиве .

Так попробуйте:

AddDirectory("c:\users\tintin\this", "this"); 
+0

Это не работает. Опция указать pathinArchive также находится в AddSelectedFiles («*. *», Path, dir, true); все еще Zips Пользователи –

0

Try This

zip.AddSelectedFiles(".pdf", "c:\users\tintin\this\", ""); 
+0

Пожалуйста, расшифруйте свой ответ. Почему эта перегрузка 'AddSelectedFiles' является рекомендуемым вами решением? Что он делает по-другому с перегрузкой, которую пытался выполнить ОП? Проверьте [как ответить] (https://stackoverflow.com/help/how-to-answer), чтобы узнать, как лучше отвечать. – Ortund

Смежные вопросы