0

我试图弄清楚如何允许用户选择目录,而不仅仅是选择文件。我不关心文件,只关心目录。有没有办法让用户这样做?我想出的唯一方法是返回运行应用程序的机器上可用的驱动器列表。

这不是我所需要的,因为没有显示任何联网的计算机 - 只有实际映射的驱动器。我所需要的只是让用户选择一个源目录并保存该服务器路径 ( \\my-server-name\path\to\source),以便我运行的服务将在预定时间处理它。

我不确定是否可以修改我拥有的代码以显示所有网络计算机,或者是否已经有一种方法/库可以让服务器上的用户浏览器目录,但我被卡住了。有没有办法做到这一点?

return (from info in driveInfo
   where info.DriveType == DriveType.Network
   select new Drive
   {
      Name = info.Name, Type = info.DriveType, 
      RootDirectory = info.RootDirectory.Name, IsReady = info.IsReady,
   }).ToList();

任何非 c# 解决方案也可以工作,只要它仍然可以很好地集成。不确定是否NodeJSHtml5可以Javascript做到这一点?

4

1 回答 1

0

这不是一个漂亮的解决方案 - 它远非快速,但如果我正确阅读您的问题,这与您正在寻找的内容(在 VB.NET 中完成)一致。

    Dim fbd1 As New FolderBrowserDialog
    Dim type As Type = FolderBrowserDialog1.GetType
    Dim fieldInfo As Reflection.FieldInfo = type.GetField("rootFolder", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
    fieldInfo.SetValue(fbd1, DirectCast(18, Environment.SpecialFolder))
    fbd1.ShowDialog()

这将FolderBrowserDialog与“网络”作为根文件夹进行对话。单击网络后,它将展开以列出您可以查看的所有网络设备。在我的电脑上,这很慢。

这是我在这里找到的一个稍微修改的解决方案 - http://www.codeproject.com/Articles/20547/How-to-Browse-Network-Folders-using-Folder-Dialog

于 2013-06-27T19:13:08.407 回答