我想将FileZilla与用C#编写的应用程序集成。
请有人给我看示例代码或显示示例代码的网站。

尽管我在网上找到了一篇文章,而那篇文章是在说
“应用程序与FileZilla集成太慢了”。
但我不知道我能不能忍受那么晚。
所以我想挑战。

最佳答案

要在C#中支持FTP / SFTP或任何其他协议,您可以通过3种方式来实现:

1.新的应用程序过程-启动一个应用程序,该程序在单独的过程中进行FTP通信,并能够控制要下载的文件,将文件保存在何处,并告知应用程序在下载完成后终止。这样,仅当FileZilla允许您在命令行中传递某些参数(例如要通过FTP / SFTP传输的资源的URI,以及文件应保存到的路径)时,才可以使用FileZilla。如我所见,HERE可以工作。

要启动该过程并将其传递给C#中的命令行参数,您需要执行以下操作:

static void StartNewProcess(string app, string args)
{
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.FileName = app;   //full app path
    startInfo.Arguments = args; //command line arguments
    startInfo.CreateNoWindow = true; //dont create app window
    startInfo.WindowStyle = ProcessWindowStyle.Hidden; //hide app from taskbar
    Process.Start(startInfo);
}


现在,您可以执行FileZila应用程序,将包含文件URL的args传递给它,然后让它执行其工作...但是您不知道下载文件需要多长时间,下载结束后,是否需要登录才能获取它...

2.现有的类库-包含由其他人编写的可完成工作的类库。这样,您可以完全控制该过程。就像其他许多建议一样,这对您来说是一种完美的方式。这里的许多答案都包含可以使用的优秀类库,并对结果感到满意。

3.自制课程库-打开RFC 959,全部阅读并编写您的代码...(现在2.听起来更好,不是吗?:D)

10-01 01:57