2016-05-29 3 views
0

Я хочу загрузить папку со своими файлами в различных типах mime. Мой виртуальный путь «http://localhost/attachments/». Мои подпапки - «сертификаты/id». Поэтому при нажатии на сетку я передаю идентификатор на страницу загрузки. Но это исключает исключение, так как виртуальный путь недействителен. 'http://localhost/attachments/certificates/id)'.Как загрузить папку, содержащую файлы как zip с сервера с помощью asp.net C#

В нижеприведенном коде Request.Params [0] означает id, это указывает папку конечного уровня, которую я хочу сделать почтовой папкой.

Любое руководство было бы признательно.

  using (ZipFile zip = new ZipFile()) 
      { 
       string VirtualPath = ConfigurationManager.AppSettings.Get("AttachmentsShowVirtualPath"); 
       string Path = string.Empty; 
       Path = "certificates" + "/"; 

       string folderPath = VirtualPath + Path + Request.Params[0] + "/"; 

       zip.CompressionLevel = CompressionLevel.None; 

       zip.AddSelectedFiles(".", Server.MapPath(folderPath), "", false); 
       zip.Save(Response.OutputStream); 
      } 
+0

Вы проверили правильность вашей папкиPath String? на какой строке вы получаете исключение? – user3378165

+0

В этой строке он выдает исключение вроде: Виртуальный путь недействителен. zip.AddSelectedFiles (".", Server.MapPath (folderPath), "", false); Но путь к папке, где я указываю, является правильным. –

ответ

1

Во-первых, вы используете DotNetZip? Я никогда не использовать его, но попробуйте изменить . к *.*

Если не получить файл, попробуйте сделать Directory.GetFiles, чтобы проверить, если Eveything правильно указывает и ваш код разрешения на чтение через каталог https://msdn.microsoft.com/en-us/library/07wt70x2%28v=vs.110%29.aspx

Или попробуйте использовать официальный класс Zip от https://msdn.microsoft.com/en-us/library/system.io.compression.zipfile%28v=vs.110%29.aspx С помощью этого метода: ZipFile.CreateFromDirectory

+0

Спасибо за ваши предложения. Я использую пакет Ionoc.zip из nuget и включаю следующий файл библиотеки. «с использованием Ionic.Zip»; Я дам вам знать после применения ваших предложений. –

+0

Спасибо Juan .. Получите решение через официальную ссылку docs –

+0

Приветствую вас, товарищ. –

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