MVC C#从远程路径下载多个文件传递网络凭据

时间:2017-03-15 10:02:00

标签: c# asp.net-mvc download multiple-files

我有一个显示文件列表的网页(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(); 
    } 
} 

0 个答案:

没有答案