using Ionic.Zip
...
using (ZipFile zip = new ZipFile())
{
zip.AlternateEncodingUsage = ZipOption.AsNecessary;
zip.AddDirectoryByName("Files");
foreach (GridViewRow row in GridView1.Rows)
{
if ((row.FindControl("chkSelect") as CheckBox).Checked)
{
string filePath = (row.FindControl("lblFilePath") as Label).Text;
zip.AddFile(filePath, "Files");
}
}
Response.Clear();
Response.BufferOutput = false;
string zipName = String.Format("Zip_{0}.zip", DateTime.Now.ToString("yyyy-MMM-dd-HHmmss"));
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "attachment; filename=" + zipName);
zip.Save(Response.OutputStream);
Response.End();
}
Hello! Эта часть кода выполняет загрузку zipped-каталога. Предположим, у меня есть gridview СОДЕРЖАНИЯ текстовых файлов, которые я хочу скачать. Есть ли способ заставить программу загрузить такой архив без знания или записи путей к файлам?C# загрузка ZIP архива файлов, созданных веб-приложением
Код должен работать таким образом:
1. get item from gridview
2. create a text file from the content
3. add it to the zip directory
(repeat foreach item in gridview)
n. download a zipped file
Ну, количество пар будет зависеть от пользователя, поэтому я не могу этого предсказать. Чтобы вы посоветовали? – Simon
@Simon: В этом случае последний подход (в части «редактирования» ответа) будет способом. – David