VB.net下载文件通过ftpwebrequest - >目录主题?

时间:2018-01-02 20:52:30

标签: vb.net

我需要从FTP服务器下载文件。 路径和文件名是

ftp://10.17.20.60/ata0b/OpconData/StationData/Station.dat

当我想查看StationData目录中的所有文件时,我使用

Dim request As Net.FtpWebRequest = Net.FtpWebRequest.Create("ftp://10.17.20.60/%2F/ata0b/OpconData/StationData/")
request.Method = Net.WebRequestMethods.Ftp.ListDirectory
request.Credentials = New Net.NetworkCredential(form1.txtFTPUser.Text, form1.txtFTPPasswort.Text)
Dim response As Net.FtpWebResponse = request.GetResponse()

有了这个,我得到了目录的内容。当然,我看到了Station.dat文件。我能够使它工作,因为我使用%2F参数将目录更改为ata0b。 到目前为止一切都很好!

现在我想下载Station.dat文件。但我总是在下面代码的最后一行收到错误(550) File unavailable (e.g., file not found, no access)

我的代码如下所示:

'Create Request To Download File'
Dim wrDownload As FtpWebRequest = WebRequest.Create("ftp://10.17.20.60/%2F/ata0b/OpconData/StationData/Station.dat")

'Specify That You Want To Download A File'
wrDownload.Method = WebRequestMethods.Ftp.DownloadFile

'Specify Username & Password'
wrDownload.Credentials = New NetworkCredential("opconadmin", "OpconAdmin")

'Response Object'
Dim rDownloadResponse As FtpWebResponse = wrDownload.GetResponse()

我的失败是什么?在我看来,文件必须在给定的路径上。我真的希望有人可以给我一个提示。

BR 斯特芬

1 个答案:

答案 0 :(得分:0)

错误意味着它说的是什么。但是让我解释为什么会发生这种情况:

1•服务器上的文件可能不可用/不存在

2•您可能面临文件中的安全问题'问题 。

可能还有其他原因,如服务器超时或其他原因..

但是,您需要找出错误消息的真正含义。为此,您可以使用TRY-CATCH语句。 E.g。

 Try

 'YOur code here

 Catch e as WebException

 Msgbox(e.Message) 'you can use e.tostring for more details

在你发现究竟是什么问题之后,你就能够解决它。看看这些:

http://www.dreamincode.net/forums/topic/76361-file-upload-to-server/

https://nickstips.wordpress.com/2010/10/25/c-ftp-upload-error-the-remote-server-returned-an-error-550-file-unavailable-e-g-file-not-found-no-access/

https://forums.asp.net/t/1777881.aspx

但是,我想建议的一件事是检查您是否有任何权限/安全问题。在您收到确切的错误消息后,它可能(或可能不会)证明是您没有足够的磁盘空间。但是,请尝试我的解决方案并留下回复以获得进一步的帮助。

<强>更新

尝试使用以下代码替换FTP链接:ftp://10.17.20.60//ata0b/OpconData/StationData/Station.da