如何使用C#将ftp共享文件夹映射到本地驱动器?有没有可用的类库?
我需要使用FTP实现与NetDrive(http://www.netdrive.net/)提供的功能相同的功能吗?
答案 0 :(得分:0)
也许你可以利用别人的工作并获得头脑。例如,NetDrive的制造商提供an SDK - 不确定需要什么/成本。但它可能值得一个询问,不是吗?
也许,如果你将this approach结合起来将远程FTP站点定义为Windows网络共享,然后在C#中使用this code将网络共享作为驱动器安装,那么你可能会得到你的工作完成: - )
答案 1 :(得分:0)
这是一个非常高的订单 - 如果你真的想要一个本地驱动器,例如X:\,要访问FTP站点,您肯定需要编写驱动程序。 不是一项容易的任务。
如果您希望它只是出现在某个地方的Windows资源管理器中 - 您可以使用shell扩展,如Marco的回答所示。但是不要指望能够像普通车一样对待它。
答案 2 :(得分:0)
要在现有驱动器上创建虚拟驱动器或文件夹,并以这种方式公开远程FTP服务器内容,您需要一个文件系统驱动程序。或者使用我们的回调文件系统(CBFS)产品,它允许您以用户模式编写代码并包含预先创建的文件系统驱动程序。 CBFS包含一个样本SFTPDisk,它可以完全满足您的需求,但使用SFTP协议(SFTP不是FTP而是SSH文件传输协议)。
请注意,在FTP中,没有将块上传到现有文件中间的功能。这使得某些文件写入操作比使用SFTP或本地文件系统更复杂 - 您可能需要缓存整个文件并在客户端关闭时异步上载它。
答案 3 :(得分:0)
C#中有一个项目使用FTP文件夹作为虚拟驱动器 - > http://amalgam.codeplex.com/(它使用dokan)。
有一个免费软件程序可以做同样的事情 - > http://www.ferrobackup.com/ftpuse/