问题标签 [fluentftp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Fluent ftp 获取最新文件并下载
我需要将今天的 csv 文件恢复到本地目录中下载文件。
我已经在 127.0.1 上使用 filezilla 服务器设置了一个测试环境,我正在将我的详细信息传递给下面的班级
我想将文件存储在本地目录值中,并且当它们被下载时,我希望从 ftp 中删除它们,但我不确定如何去做。
我一直在这里关注本教程。
https://github.com/robinrodricks/FluentFTP/blob/master/FluentFTP.Examples/GetListing.cs
调试信息的结果:
编辑 2
好的,所以我更进一步并更改了我的代码以使用下载文件,但现在我收到一条访问被拒绝的消息。
错误在这里
DownloadFile("C:\Users\user\AppData\Local\Fuel\", "/in/FuelPumpData.csv", True, None) 抛出异常:
mscorlib.dll 中的“System.IO.DirectoryNotFoundException”
甚至认为它是一个用户文件夹,它确实存在。
编辑 3 以显示 ftp 目录存在
编辑 4
证明 .net 对象正在代码中查找文件。
编辑 6
c# - FluentFTP 在尝试列出 ftps 服务器上的文件时抛出“System.IO.IOException: Authentication failed”
描述
当使用 FluentFTP 连接到 FileZilla FTPS 服务器时,我们System.IO.IOException: Authentication failed because the remote party has closed the transport stream.
在尝试列出文件时得到一个。
我们可以建立初始连接,我们可以登录,但是当 FluentFTP 尝试通过 EPSV 建立数据连接时,它会出错并出现该异常。
到目前为止,我们的研究似乎指向 TLS 恢复失败。FTPS 服务器坚持要求数据连接从控制连接恢复 TLS 会话,这似乎失败了。奇怪的是,这只发生在 Linux 或 WSL 上的 dotnetcore 上。在 Windows 上的 dotnetcore 上一切正常。
版本:DotNetCore 2.1.5 FluentFTP 19.2.2
操作系统 Ubuntu 18.04 / Windows 10 WSL Ubuntu 18.04
演示代码
例外
FluentFTP 日志
我们做错了什么?
c# - 在 c# 中使用 Fluent FTP 从 FTP 服务器获取最后添加/复制的文件
我正在使用下面的代码。(FluentFTP)但Item.Modified将只给出文件创建日期。所以它的渲染基于复制的文件创建日期。(不是在复制时)我将如何根据 Fluent FTP 中的复制/添加日期获取文件。
c# - FluentFTP 连接在本地计算机上有效,但在 Windows 2019 服务器上无效
到目前为止,我有一个 C# 终端应用程序,它一直在我的个人开发电脑上运行。该应用程序使用 FTP 来检索一些文件。对于通过 FTP 简单下载特定文件,我只使用常规 System.Net.WebClient 并使用用户名和密码填写 NetworkCredentials,但该应用程序还使用 FluentFTP 进行一些更复杂的 FTP 上传。
这基本上是我使用 FluentFTP 连接的方式:
当我在 Windows 2019 服务器上运行终端程序并尝试使用 FluentFTP 进行连接时,它突然停止连接FluentFTP.FTPCommandException
,异常堆栈中没有写入任何其他信息。我尝试记录 FTP 跟踪,这就是我得到的:
它似乎突然中断而没有错误代码。
我试图查看它是否与登录或类似的东西有关,但是当登录凭据错误时,这就是结果。它带有 530 响应:
我也考虑过服务器上的防火墙和端口问题,但让我感到困惑的是,通过 System.Net.WebClient 通过 FTP 进行的简单下载似乎在服务器上运行良好。
如果有人对我如何解决这个障碍有任何想法,那么我将非常感谢您的帮助!
编辑
我在服务器和本地电脑上运行时复制了 FtpClient 的属性,似乎有一些区别:
本地电脑
能力=大小,MDTM
哈希算法=无
加密模式=无
数据连接加密=真
纯文本加密=假
SslProtocols=默认
系统类型=Windows_NT
服务器类型=未知
服务器操作系统=Windows
视窗服务器
能力=无
哈希算法=无
加密模式=无
数据连接加密=真
纯文本加密=假
SslProtocols=默认
系统类型=未知
服务器类型=未知
服务器操作系统=未知
c# - 使用 FluentFTP 将文件从 FTP 复制到 blob 存储的 Azure 功能
我有一个添加每日文件的 FTP 源,我需要使用 azure 函数中的 FluentFTP 库每天将文件从 FTP 复制到 blob 存储
我在 Azure 函数中使用 C#,我完成了所有编码部分,但缺少从 FTP 下载文件以将其直接复制到 blob 目标。
如果我可以将 blob 容器用作 FluentFTP 函数的目标,那将是最好的,但这样我会收到错误,即我正在使用的这个 blob 块不是目标
这是我得到的错误
无法从“Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob”转换为“字符串”
我不知道是否有另一种方法可以在本地下载文件,因此我可以将其上传到 blob 而不是使用此client.DownloadFile
功能。
c# - FluentFtp 使用 tls 连接到 FTP 服务器,可以获取工作目录,但尝试获取文件列表时超时
我有一小段 c# 测试代码 (4.7.2) 使用 FluentFtp 连接到基于 Linux 的未知类型和未知衍生 Linux 的服务器。
我正在 VS 2017 上开发。
我使用 NuGet 加载 FluentFTP。
我的测试代码的 .Net 级别是 4.7.2。
至今:
它连接。
我可以获得一个工作目录(GetWorkingDirectory())。
当我尝试获取文件列表时,它会显示“尝试连接超时!” 在 FluentFtp GetListing 上。
代码是:
控制台输出是:
我查看了许多 SO 帖子和 FluentFTP 问题,并尝试了几个想法。我也尝试过 PASV 和 EPSV,结果相同。
由于所有带有“tls”的 FTP 有点令人困惑,如果有替代品,直接 .Net 或第三方,我当然会招待他们。我有点时间紧张。
问候,吉姆
c# - C# FluentFTP 连接错误 - FTPS Windows 7
我尝试建立一个 FTPS 连接(显式)。在 Windows 10 上,我的程序运行良好,但在 Windows 7 上出现错误。我在 C# 中使用 FluentFTP 库。
我已经尝试使用 Tls、Tls11、Tls12 更改 SslProtocols,但它不起作用。
这是我的错误:
谢谢你的帮助。
c# - 进程无法访问文件,因为它被另一个进程使用
所以我收到异常“进程无法访问文件,因为它被另一个进程使用。
当我调用此特定方法时,将显示异常:
并像这样在另一个类中调用它:
之前它不是异步的,但我不得不将它改造成异步方法。但我认为我正确地关闭了读者和客户。可能是异步方法的问题吗?因为在我让它异步之前我没有这个问题。
有人可以解释我做错了什么吗?
请注意,我使用FluentFTP
的是https://github.com/robinrodricks/FluentFTP。
c# - 应用程序作为 Windows 任务运行时出现“不知道这样的主机”FluentFTP 错误
我有一段非常直接的代码可以使用 C# 和 FluentFTP 将一些数据上传到 ftp。
wherehost
是一个有效的 ftp 主机名,file
是一个字节数组,并且path
是 ftp 上的现有远程位置。我可以使用来自 filezilla 等 ftp 客户端的凭据成功登录到我的 ftp,用户已设置所有必需的权限,在调试模式下或执行应用程序文件时一切正常。但是,当应用程序作为 Windows 任务执行时,我的自定义日志文件中不断出现下一个异常:
仅当应用程序作为 Windows 任务执行时才会发生这种情况。是否有一些可能影响连接的 Windows 任务的防火墙配置?还是其他不明显的问题?
其中dmytr是我创建任务的 Windows 管理员用户。