我正在使用以下代码从FTP服务器下载文件。在输入此代码之前,我已经从FTP服务器上的目录中的文件创建了一个文件名列表。列表中有超过2000个文件。
当我遍历列表时,文件正确下载,直到我准确地下载了121个文件。然后它开始给我一个“找不到文件,访问被拒绝”的错误。对于之后的每个文件。然而,文件在那里。如果我再次启动该过程,它将从它停止的地方开始并下载另外121个文件并继续运行,直到在接下来的121个文件后再次出现错误。
以下是代码:
For Each file As String In dirlist
DownloadFile(local_path + "\" + filename, new_path + "/" + Trim(filename), client)
Next
Private Sub DownloadFile(ByVal localpath As String, ByVal ftpuri As String, client As String)
Dim request As New WebClient()
request.Credentials = New NetworkCredential(user_name, password)
Dim bytes() As Byte = request.DownloadData(ftpuri)
Try
Dim DownloadStream As FileStream = IO.File.Create(localpath)
DownloadStream.Write(bytes, 0, bytes.Length)
DownloadStream.Close()
Catch ex As Exception
add_to_log(log_window, ex.Message)
End Try
End Sub
我不明白为什么在完成清单之前就停止了。