【问题标题】:How to download all files in a directory in ASP.NET using C#如何使用 C# 下载 ASP.NET 目录中的所有文件
【发布时间】:2022-02-09 01:28:38
【问题描述】:

我目前正在学习在 C# asp.net 中上传/下载/删除文件。我想出了如何使用如下代码删除文件夹中的每个文件:

protected void DeleteAllFiles(object sender, EventArgs e)
{
    System.IO.DirectoryInfo di = new DirectoryInfo(Server.MapPath("~/Output"));
    
    foreach (FileInfo file in di.GetFiles())
    {
        file.Delete();
    }

    foreach (DirectoryInfo dir in di.GetDirectories())
    {
        dir.Delete(true);
    }

    Response.Redirect("~/Outputs.aspx?ReturnPath=" + Server.UrlEncode(Request.Url.ToString()));
}

但我找不到任何关于如何下载目录中所有文件的信息。我想出了如何下载单个文件,但是我在下载目录中所有文件的按钮时遇到了问题。当然有一种简单的方法可以做到这一点?我在其他任何地方都找不到它,所以这可能是一个愚蠢的问题,但感谢任何帮助。

【问题讨论】:

  • 所以不要把它想象成“下载”文件,而是“复制”文件,你就能找到你要找的东西。答案很简单,你想学,所以我建议你看看这个文档,答案应该会很清楚docs.microsoft.com/en-us/dotnet/api/…
  • 如果您真的想从网站下载文件,包括发送 Web 请求在内,这完全是另一回事,这可能值得一看指南,这可能是更简单的指南之一,但总体上了解更多关于 HttpRequest 的信息会对您有所帮助 jonathancrozier.com/blog/how-to-download-files-using-c-sharp

标签: c# asp.net file download


【解决方案1】:

It's not possible to send multiple files in a single HTTP request. 但是,您可以创建一个包含多个文件的 zip 存档并将其发送。示例见this answer

【讨论】:

  • 谢谢先生,我学到了很多,但我不知道这一点。我想出了如何制作一个zip文件并下载它。再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
  • 1970-01-01
  • 2011-07-10
相关资源
最近更新 更多