1

我需要将 ftp 映射到 c# 上的驱动器。

我使用了这个SO question的答案,但它只适用于本地文件夹(我认为)

我的代码:

Subst.MapDrive('q', @"ftpServerName");

不起作用。

4

1 回答 1

1

这不是微不足道的。第一个问题是 FTP 不是文件系统访问协议,不可能基于标准 FTP 命令实现功能齐全的文件系统。然而对于只读文件系统 FTP 是可以的。

现在,您无法轻松地将任何远程映射到 Windows 中的驱动器号。您需要编写内核模式虚拟文件系统驱动程序。工作一年左右。

我们的回调文件系统提供了一个预先构建的驱动程序,它调用您的用户模式代码来执行实际工作。这样你就可以在 C# 中创建一个虚拟文件系统。我们有一个示例项目,它是我们的 SFTP Net Drive 免费软件产品的简化版本,它通过 SFTP 满足您的需求(SFTP 是基于 SSH 的协议,提供低级文件操作,可用于虚拟文件系统) . 但是对于 FTP,您仍然会遇到上面提到的写入问题,可能还有重命名问题。

于 2012-10-04T14:35:39.663 回答