Member 13818561 Ответов: 1

Zip - файл не работает после публикации ASP.NET проект


Загрузка одного файла работает после публикации. Но загрузка всех файлов в виде zip файла не работает после публикации asp.net проект.
Предложите мне решение

Что я уже пробовал:

Если я добавлю Ionic.Zip.dll это не работает. Поэтому я использовал пакет NuGet DotNetZip

Но он не работает после публикации проекта.

Мой код таков,

использование Ionic.Zip;

ZipFile zip = новый ZipFile();
если (ДТ.Строк.Count > 0)
{
по каждому элементу (объекта datarow Dr в ДТ.Строк)
{
застежка-молния.AddEntry(dr["имя"].ToString(), dr["данные"].Метод toString());
}
}
var zipMs = Новый Поток памяти();
zip.Save(zipMs);
byte[] fileData = zipMs.GetBuffer();
zipMs.Seek(0, SeekOrigin.Begin);
zipMs.Flush();
Ответ.Четкий();
Ответ.AddHeader("content-disposition", "attachment;filename=docs.zip ");
Ответ.ContentType = "приложение/zip";
Ответ.BinaryWrite(fileData);
Ответ.Конец();

1 Ответов

Рейтинг:
6

OriginalGriff

Вы понимаете, что код C# работает на сервере, а не на клиенте?
Таким образом, файлы, на которые ссылается ваш DataTable, должны быть доступны серверу и правильно расположены для сервера, а файлы Ionic DLL должны находиться в правильной папке на сервере (т. е. в папке BIN).

Если все это кажется правильным, то начните с добавления блока try...catch к этому коду и некоторого регистрационного кода для отслеживания того, что именно происходит - я бы ожидал, что вы, вероятно, получаете исключение, и вам нужно знать, что это за исключение и когда вы его получите, прежде чем вы сможете начать диагностику того, что вызывает проблему.