1

我尝试从 FTP 下载 .bak 文件并将其保存到我电脑的本地目录中。

这是我的代码:

 Try
        My.Computer.Network.DownloadFile("ftp://nameOfServer/file.bak", "C:\Users\Admin\Documents\BackUp\file.bak", "user", "password")

    Catch ex As Exception
        MessageBox.Show(ex.Message, "Error")
    End Try

当我执行代码时,我收到此错误:

Error on the remote server: 227 Entering Passive Mode(xxx,xx,xxx,xxx,xxx,xx)

我知道我需要将其更改为活动模式,但我找不到与我的代码正常工作的方法。我该如何解决?谢谢

4

1 回答 1

1

您应该确保按照这个较旧的编辑正确下载文件。

经过一番摆弄以重新创建问题后,使用以下代码解决了问题

Dim username As String = "username"
Dim password As String = "password"
Dim address As String = "address"
Dim file As String = "file"
Dim outputFile As String = "outputFile"
My.Computer.Network.DownloadFile("ftp://" + username + ":" + password + "@" + address + "/" + file, outputFile)

或者以下更简洁地能够解决问题

My.Computer.Network.DownloadFile("ftp://username:password@address/file", "outputLocation")

但是,导致您的问题的另一个可能原因可能仅仅是由于缺少输出目录,或者更可能是写保护(通过安全策略或文件夹设置)。

最后,如果您拥有正确的代码和文件结构,我建议您联系 ftp 提供商,并确保 ftp 服务器已正确配置和优化以供您使用。如果您无法联系您的 ftp 提供商寻求帮助,但您可以访问您的 ftp 设置,我建议您为您的 ftp 服务器禁用被动模式,风险自负。

于 2016-02-24T20:44:26.307 回答