所以我需要在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个或更多文件
答案 0 :(得分:2)
将其制成单个文件;这将与网络的工作方式保持一致(请考虑使用浏览器从Internet下载文件)。
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也对其提供本机支持。