如何下载2个或更多文件

时间:2019-11-02 00:55:11

标签: c# asp.net-core

所以我需要在MVC Core应用程序上下载2个文件

我已经购买了下载文件代码,我真的不知道如何下载2个或更多文件

[HttpGet("DownloadSDES")]
        public IActionResult DownloadSDESCypher()
        {
            var net = new System.Net.WebClient();
            var data = net.DownloadData(sDESRepository.ObtainPathDownload());
            var content = new System.IO.MemoryStream(data);
            var contentType = "APPLICATION/octet-stream";
            var fileName = "CypherSDES.scif";
            return File(content, contentType, fileName);

        }

它确实下载了一个文件,但我不知道如何使其能够处理2个或更多文件

3 个答案:

答案 0 :(得分:2)

将其制成单个文件;这将与网络的工作方式保持一致(请考虑使用浏览器从Internet下载文件)。

  1. 根据您的操作下载两个文件。
  2. 压缩(或压缩)它们。
  3. 退回拉链。

Using ASP.NET how can I create a zip file from an array of strings?上甚至还有一个摘要。

答案 1 :(得分:1)

如果您有网址列表,例如:

endpoint / file1.pdf, 端点/file2.pdf, 端点/文件3.pdf ...

您可以在for循环中运行您的DownloadData方法,并一步一步地获取这些文件。

您还可以使用HttpClient,因为它是异步发出请求的更现代的方式。看到: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=netframework-4.7.2

答案 2 :(得分:0)

您的问题似乎不对。似乎是“我如何提供两个文件进行下载”?

最明显的解决方案是提供2个下载链接。但是,如果绝对必须在单个文件中完成和/或应包含文件夹结构,则.zip文件是您要查找的机器人。

如果您想从GitHub下载项目的所有代码,它们将创建一个.ZIP文件。

如果要从HFS instance下载整个文件夹,它将使您成为.ZIP文件。

ZipFiles可以轻松创建(和使用ZipArchive class进行读取/操作。您可以随时执行此操作,也可以将.zip文件与源文件一起预先创建在数据库中。

可以使用其他格式,例如.tar,.rar或.7zip。但是.zip是最普遍兼容的格式。自Windows XP以来,甚至Windows也对其提供本机支持。