如何得到远程文件夹下的所有文件

远程文件夹http://192.168.0.168/Files已经通过IIS发布现在我想得到Files下所有文件的文件名。将这些文件名装入List<string>file... 远程文件夹http://192.168.0.168/Files 已经通过IIS发布
现在我想得到Files 下所有文件的文件名。将这些文件名装入List<string> fileNames 中。
我这么写
string url="http://192.168.0.168/";
if(!Directory.Exists(url+"Files")) //不管是否存在都显示不存在
{
MessageBox.Show("文件夹不存在!");
return;
}

DirectoryInfo Dir = new DirectoryInfo(url+"Files");
//这里抛出 “DirectoryInfo不支持url格式”的异常
FileInfo[] fis = Dir.GetFiles();
foreach(FileInfo file in fis)
{
.......
}
请问如何处理,最好能给个小示例。
有没有人能给个好点的解决方案呢?
展开
 我来答
妖好你041af
推荐于2016-05-13 · TA获得超过499个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:0
展开全部
第一步.对IIS进行设置,设置为允许用户查看目录的文件列表,方法:cmd->inetmgr->选择站点->属性->主目录->勾选允许目录浏览
第二步.将需要列出的目录下的默认页面删除,否则你访问的话就直接访问到默认文件了,如index.html,方法:cmd->inetmgr->选择站点->属性->文档->取消勾选允许默认文档或者删除目录下的默认文档
第三步.由于DirectoryInfo对象是不能访问远程IIS目录的,所以你不能用DirectoryInfo来实现,而是使用一个WebClient或者HttpWebRequest来获取"http://192.168.0.168/Files/"这个地址的内容,得到的内容会列出所有的文件和目录信息,不过这是HTML的,你只需自己解析一下就可以了
往话茶4318
2010-07-22 · TA获得超过796个赞
知道小有建树答主
回答量:1300
采纳率:0%
帮助的人:0
展开全部
http的是不支持directoryinfo的
ftp可能是支持的。

如果你是通过iis设置的显示目录结构,那个是合成的html不能直接用directoryinfo来读取,只能考虑解析页面来读取目录结构,要不然就是变成ftp的。

回答你的问题补充:
实在要解决的话,就需要解析那个页面了,不过我觉得这样比较麻烦,若不是非做不可,还是换做真正的ftp来用比较好点,毕竟你需要的就是目录结构。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
depluin
2010-07-21 · TA获得超过3179个赞
知道大有可为答主
回答量:3378
采纳率:75%
帮助的人:2492万
展开全部
想在服务器端用DirectoryInfo,要给取DirectoryInfo得文件夹IIS用户访问权限,或者直接给everyone用户权限,就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月夜黑鹰
2010-07-21 · TA获得超过723个赞
知道小有建树答主
回答量:1198
采纳率:0%
帮助的人:826万
展开全部
new DirectoryInfo的话没有权限的原因
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式