2010-10-18 65 views
0

我在远程服务器上有很多图像,比如说images.foo.com/222 &我想访问驻留在images.foo.com/上的文件夹222中的所有文件的文件名。 我曾尝试下面的代码,但得到错误“虚拟路径是无效”:如何从远程服务器文件夹访问所有文件名 - c#?

imageserver = http://images.foo.com/222; 
DirectoryInfo di = new DirectoryInfo(imageserver); // line giving exception 
FileInfo[] rgFiles = di.GetFiles(); 
string simagename = ""; 
if (rgFiles.Count() > 0) 
{ 
foreach (FileInfo fi in rgFiles) 
{ 
//collect each filename from here 
} 
} 

请帮忙提前 gbaxi

+1

使用Direction.GetFiles()或新的DirectoryInfo类仅对本地或网络文件系统有用。 Http是一个基于Web的协议,因此无法浏览。你可以看看使用WebDev? – Kane 2010-10-18 10:57:38

+0

也许这篇文章会有帮助http://www.codeproject.com/KB/IP/Spideroo.aspx或http://www.devsource.com/c/a/Languages/Pulling-Data-From-Internet-URLs -in-C/ – 2010-10-18 11:01:16

回答

0

感谢您无法访问驻留与DirectoryInfo的在网络上的目录类。相反,使用WebRequest类从URL获取列表并从该列表中获取文件。

+0

你好,请你告诉我如何使用webrequest类 – user255818 2010-10-18 11:24:58

+0

@ user255818做到这一点:你将不得不使用[GetResponse](http://msdn.microsoft.com/)手动解析响应数据。 COM/EN-US /库/ system.net.httpwebrequest.getresponse.aspx)。使用HttpWebRequest时,链接中有一个示例。从图像站点获取响应,然后将各个响应(不要忘记处理它们)到每个文件。 – Patrick 2010-10-18 14:16:03

2

DirectoryInfo的需要类型的UNC路径“文件服务器\\。\图像”

一个http地址不起作用

0

的问题是,HTTP不会对目录列表是如何成为一个清晰的界面显示。大致有两种选择:

  1. 解析通过的WebRequest检索到的HTML,但你不会得到像创建/修改时间和用户;

  2. 用不同的机制来检索像FTP或文件共享这样的文件细节。

相关问题