读取ftp中的所有文件,并将它们与访问数据库进行比较,以丢弃我使用的文件

时间:2016-09-01 15:47:13

标签: vb.net ftp ms-access-2010

正如你在标题中看到的那样,回答这个问题可能有点困难,但我真的需要帮助

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服务器中的所有文件名当然我不想要所有的解决方案但是一个良好的开端或建议将太棒了!

1 个答案:

答案 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")