Допустим, у меня есть веб-сайт, на котором я хотел бы, чтобы пользователи могли загружать определенную группу файлов. Для пользователей будут доступны флажки и списки параметров, чтобы они могли выбирать, какие части они хотят включить, а какие нет. Затем они нажимают кнопку «Загрузить», и их браузер загружает zip-файл, содержащий только те элементы, которые они выбрали.
Я хочу разрешить такую гипотетическую ситуацию с ASP.NET и C #. Конечно, я мог сделать zip-файлы всех перестановок, но это заняло бы много времени. Возможно ли как-нибудь, если у меня есть пути к файлам, хранящимся на моем сервере, взять некоторые из этих файлов, заархивировать их (в памяти или на диске, а затем удалить) и отправить файл zip на клиент через ответ?
ОБНОВЛЕНИЕ: Я только что нашел следующий вопрос и пример кода через соответствующее поле:
private void sendToClient(Dictionary<string, string> reportDic)
{
Response.Clear();
Response.BufferOutput = false;
String ReadmeText = "some text";
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "filename=" + "filename.zip");
using (ZipFile zip = new ZipFile())
{
zip.AddEntry("Readme.txt", ReadmeText);
zip.Save(Response.OutputStream);
}
Response.Close();
}
Он использует DotNetZip для архивации файла.
Как вы думаете, это то, что я ищу? Я собираюсь прочитать документы DotNetZip.