我有一个显示文件列表的网页(MVC)。每个文件都有一个日期。我希望用户能够选择开始和结束日期并点击一个按钮,该按钮会自动将日期范围内的所有文件(从必须通过网络凭据的远程服务器)作为zip文件下载到他们的机器上,并具有通常的浏览器下载通知。 这样做的最佳方式是什么?
我发现这个库Ionic.Zip但我不知道将网络凭据传递给它。
using Ionic.Zip;
public void DownloadMultiple(List<string> fileUrls)
{
// Use NetworkCredential ???
using (ZipFile zip = new ZipFile())
{
zip.AlternateEncodingUsage = ZipOption.AsNecessary;
zip.AddDirectoryByName("Files");
foreach (string url in fileUrls)
{
zip.AddFile(url, "Files");
}
Response.Clear();
Response.BufferOutput = false;
string zipName = "CB_Invoice.zip";
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "attachment; filename=" + zipName);
zip.Save(Response.OutputStream);
Response.End();
}
}