4

.NET 中是否可以像 URL 一样列出远程位置上的文件?System.IO 类的工作方式大致相同。我需要的只是远程服务器上图像的 URL。

4

2 回答 2

3

简短回答:不,除非您对该网络服务器有更多控制权

长答案:这里有可能的解决方案......

  1. 您将需要在本地执行并以您喜欢的格式输出此列表的服务器端脚本。

  2. 大多数网络服务器都实现了默认的文件浏览页面,所以理论上你可以解析这些页面,但是这个解决方案非常脆弱,即使在同一网络服务器的不同版本之间也不是很便携。

  3. 如果您有 FTP 访问权限...

于 2008-08-17T14:52:09.513 回答
1

.NET 中是否可以像 URL 一样列出远程位置上的文件?

您应该指定我们正在谈论的协议。

对于 HTTP,lubos hasko 给出了答案:不。HTTP 没有文件的概念;只属于资源。如果您可以控制 Web 服务器,则可以要求它提供目录列表,或者更好的是,您可以编写代码为您列出服务器端的目录。如果没有这样的控制,你必须依靠服务器提供一个列表,1)出于安全原因可能会被禁用,2)其格式是非标准化的,3)就像 lubos 说的那样,解析很脆弱(“刮”)。

如果您的意思是/如果服务器提供了用于文件传输的协议,例如 FTP、SMB/CIFS 等,那会容易得多。例如,对于 FTP,您需要查看WebRequestMethods.Ftp.ListDirectoryDe​​tails

于 2008-08-17T17:36:21.727 回答