Предположим, что у меня есть сайт, на котором я хочу, чтобы пользователи могли загружать определенную группу файлов. Будут установлены флажки и списки вариантов для пользователей, чтобы они могли выбирать, какие части они хотят включить и что они не хотят загружать. Затем они нажимают кнопку «Загрузить», и их браузер загружает zip-файл, содержащий только те вещи, которые они выбрали.ASP.NET/C#: Объединение наборов файлов, их удаление и отправка обратно пользователю через ответ
Я хочу выполнить такую гипотетическую ситуацию с ASP.NET и C#. Конечно, я мог бы сделать zip-файлы всех перестановок, но это займет много времени. Возможно ли это, если у меня есть пути к файлам, хранящимся на моем сервере, чтобы взять некоторые из этих файлов, закрепить их (в памяти или на диске, а затем удалить) и отправить zip-файл клиенту через ответ?
UPDATE: Я только что нашел образец following question и кода через соответстующее поле:
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.
Только что нашел http://stackoverflow.com/questions/1153047/sending-zip-file-to-client-via-response-with-dotnetzip, очень похоже, на самом деле не обманывает, но это, вероятно, хорошее решение! –