C# 如何获取web上文件夹的目录列表?

C# 如何获取web上文件夹的目录列表?,c#,download,C#,Download,如何获取web上文件夹的目录列表?我想从网上的文件夹下载一组小文件。我可以用一个文件轻松地完成,但我不知道如何对多个文件执行。如果有类似于下面代码的东西,但对于网络上的文件夹,我想我可以做到 private void button1_Click(object sender, EventArgs e) { DirectoryInfo di = new DirectoryInfo("c:/myFolder"); FileInfo[] rgFiles =

如何获取web上文件夹的目录列表?我想从网上的文件夹下载一组小文件。我可以用一个文件轻松地完成,但我不知道如何对多个文件执行。如果有类似于下面代码的东西,但对于网络上的文件夹,我想我可以做到

    private void button1_Click(object sender, EventArgs e)
    {
        DirectoryInfo di = new DirectoryInfo("c:/myFolder");
        FileInfo[] rgFiles = di.GetFiles("*.*");
        foreach (FileInfo fi in rgFiles)
        {
            //Do Something with each of them
        }
    }
该文件夹只是我网站上的一个文件夹。e、 g.mysite.com/files


谢谢

如果这是您自己的服务器,您必须使用诸如new DirectoryInfo\myserver\shared\path\on\driver之类的unc路径连接到它


如果它不是您的服务器,那么您不能这样做,因为这将是一个巨大的安全风险。这个问题需要进一步澄清您试图做什么。

如果这是您自己的服务器,您必须使用诸如new DirectoryInfo\myserver\shared\path\on\driver之类的unc路径连接到它


如果它不是您的服务器,那么您不能这样做,因为这将是一个巨大的安全风险。这个问题需要更多的澄清,以了解您正在尝试做什么。

普通HTTP不提供任何机制来实现这一点。即使您在服务器上启用了目录浏览,并且没有指定默认文档,所做的只是告诉web服务器生成HTML格式的文件列表。您必须解析HTML,它会因服务器而异


还有其他一些协议位于HTTP之上,比如WebDAV,提供这种功能,但它相当复杂。Jordan提到,如果您可以控制服务器端,FTP或UNC共享可能是一个更简单的选择。

普通HTTP不提供任何机制来实现这一点。即使您在服务器上启用了目录浏览,并且没有指定默认文档,所做的只是告诉web服务器生成HTML格式的文件列表。您必须解析HTML,它会因服务器而异


还有其他一些协议位于HTTP之上,比如WebDAV,提供这种功能,但它相当复杂。Jordan提到的FTP或UNC共享可能是一个更简单的选项,如果您可以控制服务器端。

根据其他选项,如果服务器不是您自己的。那么你不能,除非他们专门提供了这样的服务

如果它是你自己的,并且是你应用程序本地机器的一部分,那么继续使用上面显示的DirectoryInfo和FileInfo方法。只是要知道IIS的安全需求?应用程序池用户


如果它是您自己的,但是是远程的,那么您可以编写一个Web服务,以良好的格式提供文件列表,供您在其他服务器/客户机上使用。显然要注意安全性。

如果服务器不是您自己的,请按照其他选项。那么你不能,除非他们专门提供了这样的服务

如果它是你自己的,并且是你应用程序本地机器的一部分,那么继续使用上面显示的DirectoryInfo和FileInfo方法。只是要知道IIS的安全需求?应用程序池用户


如果它是您自己的,但是是远程的,那么您可以编写一个Web服务,以良好的格式提供文件列表,供您在其他服务器/客户机上使用。显然要注意安全。

我会从自己的网站上获取文件。例如,它们可能位于www.mysite.com/files.Ok,那么您的代码应该可以工作,您只需要找到正确的路径。如果上面的代码运行在同一台服务器上,您可以执行server.MapPath或使用与上面类似的完整路径。我将从自己的网站获取文件。例如,它们可能位于www.mysite.com/files.Ok,那么您的代码应该可以工作,您只需要找到正确的路径。如果上面的代码在同一台服务器上运行,您可以执行server.MapPath或使用与上面类似的完整版本。谢谢您提供的信息。我只需要对它们进行压缩,下载一个文件,然后解压缩它们。听起来很简单。谢谢你的信息,乔希。我只需要对它们进行压缩,下载一个文件,然后解压缩它们。听起来很简单。当两个或两个以上的人对你的最终解决方案做出贡献时,奖励一个答案是很难的。当两个或两个以上的人为你的最终解决方案做出贡献时,掷硬币的结果是…奖励答案是不可能的。掷硬币到。。。