正如你在标题中看到的那样,回答这个问题可能有点困难,但我真的需要帮助
My.Computer.Network.DownloadFile("ftp://xxx.xxx.com/folder/subfolder/filename.txt", "C:\Users\User\Desktop\base\Folder\filename.txt", "user", "password")
这就是我从ftp服务器下载文件的方式,但我意识到我所做的是错误的,因为文件名每10分钟更改一次,这就是为什么我需要将文件名保存到访问中,以便稍后进行比较和丢弃我的访问表中检查的文件
我不知道如何从ftp服务器保存文件名以用作变量或读取ftp服务器中的所有文件名当然我不想要所有的解决方案但是一个良好的开端或建议将太棒了!
答案 0 :(得分:0)
我能找到的唯一方法是,我希望它对某人有用
基本上我做的是创建一个listdirectory然后将信息传递到列表框然后选择最后一项保存文件名最后我用作下载过程的变量这不是最好的解决方案,但它非常适合在我的需要
Dim Dirlist As New List(Of String)
Dim request As FtpWebRequest = DirectCast(WebRequest.Create("ftp://server/folder/subfolder"), FtpWebRequest)
Dim response = DirectCast(request.GetResponse(), FtpWebResponse)
Dim responseStream As Stream = response.GetResponseStream
request.Method = WebRequestMethods.Ftp.ListDirectory
request.Credentials = New NetworkCredential("user", "pass")
Using reader As New StreamReader(responseStream)
Do While reader.Peek <> -1
ListBox1.Items.Add(reader.ReadLine)
Loop
If ListBox1.Items.Count > 0 Then
ListBox1.SelectedIndex = ListBox1.Items.Count - 1
End If
End Using
Dim varia1 As String
varia1 = ListBox1.SelectedItem.ToString
Dim varia2 As String = "C:\localpath\"folder\subfolder
Dim ftp1 As String = "ftp://server/folder/subfolder"
Dim varia3 As String = varia2 + varia1
Dim varia4 As String = ftp1 + varia1
response.Close()
My.Computer.Network.DownloadFile(varia3, varia4, "user", "pass")