如何使用C#将ftp共享文件夹映射到本地驱动器?有没有任何类库可用于此?如何使用C#将ftp共享文件夹映射到本地驱动器?
我需要使用FTP实现与NetDrive(http://www.netdrive.net/)相同的功能吗?
如何使用C#将ftp共享文件夹映射到本地驱动器?有没有任何类库可用于此?如何使用C#将ftp共享文件夹映射到本地驱动器?
我需要使用FTP实现与NetDrive(http://www.netdrive.net/)相同的功能吗?
也许你可以利用别人的工作,并得到一个开头。例如,NetDrive的制造商提供an SDK - 但不知道需要什么/费用。但这可能值得一探究竟,不是吗?
也许,当你将this approach定义一个远程FTP站点为Windows网络共享,然后在C#中使用this code便可以将网络共享作为驱动器,你可能会得到你的工作:-)完成
这是一个非常高的订单 - 如果你真的想要一个本地驱动器,例如X:\,要访问FTP站点,您肯定需要编写一个驱动程序。 不是一件容易的事。
如果你希望它只出现在Windows资源管理器的某个地方 - 你可以使用shell扩展,正如Marco的回答所暗示的那样。但不要指望能像普通的驱动器那样对待它。
要在现有驱动器上创建虚拟驱动器或文件夹并以这种方式公开远程FTP服务器的内容,您需要一个文件系统驱动程序。或者使用可以使用我们的回叫文件系统(CBFS)产品,它允许您以用户模式编写代码并包含预先创建的文件系统驱动程序。 CBFS包含一个SFTPDisk示例,它完全符合您的需求,但使用SFTP协议(SFTP不是FTP,而是SSH文件传输协议)。
请注意,在FTP中,没有功能可以将块上载到现有文件的中间。这使得一些文件写操作比SFTP或本地文件系统更棘手 - 您可能需要缓存整个文件并在客户端关闭时异步上传。
在C#中有一个项目使用FTP文件夹作为虚拟驱动器 - >http://amalgam.codeplex.com/(它使用dokan)。
有一个免费程序,做同样的事情 - >http://www.ferrobackup.com/ftpuse/
但是在内部它使用SMB协议不是FTP – 2010-08-04 05:50:31
你是说你要映射的“共享文件夹”,你想通过FTP映射它或通过正常的共享服务?你需要在你的问题中更加清楚,有一个原因你没有得到任何好的答案。 – 2010-08-04 06:26:27