我尝试从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)
我知道我需要将其更改为活动模式,但我无法找到适合我的代码的方法。 我怎么解决这个问题?感谢
答案 0 :(得分: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服务器全部禁用被动模式,风险自负。