我想将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)