Скачайте файл с ftp, если новее или другой - PullRequest
1 голос
/ 17 августа 2010

Я пытаюсь загрузить файл с ftp-сайта, только если он новее моего локального файла.Может кто-нибудь помочь, как включить, чтобы проверить свойства файла?прямо сейчас скачивает файл, но просто нужно, если новее.Цель состоит в том, чтобы обновить .mdb содержимым файла, поэтому не нужно загружать файл и запускать обновление при каждом запуске моего приложения, только если файл отличается.Это код, который я использую:

        Const localFile As String = "C:\version.xml"
    Const remoteFile As String = "/version.xml"
    Const host As String = "ftp://1.1.1.1"
    Const username As String = "user"
    Const password As String = "pwd"

    Dim URI As String = host & remoteFile
    Dim ftp As System.Net.FtpWebRequest = _
        CType(FtpWebRequest.Create(URI), FtpWebRequest)

    ftp.Credentials = New  _
        System.Net.NetworkCredential(username, password)

    ftp.KeepAlive = False

    ftp.UseBinary = True

    ftp.Method = System.Net.WebRequestMethods.Ftp.DownloadFile

    Using response As System.Net.FtpWebResponse = _
          CType(ftp.GetResponse, System.Net.FtpWebResponse)
        Using responseStream As IO.Stream = response.GetResponseStream

            Using fs As New IO.FileStream(localFile, IO.FileMode.Create)
                Dim buffer(2047) As Byte
                Dim read As Integer = 0
                Do
                    read = responseStream.Read(buffer, 0, buffer.Length)
                    fs.Write(buffer, 0, read)
                Loop Until read = 0
                responseStream.Close()
                fs.Flush()
                fs.Close()
            End Using
            responseStream.Close()
        End Using
        response.Close()
    End Using

Любая помощь приветствуется

1 Ответ

1 голос
/ 24 июня 2011

Не уверен, что это ответ на ваш вопрос, но я ищу аналогичный ответ и натолкнулся на это.

http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx

Просмотрите LastWriteTime, и вы можете сэкономить это время и проверитьпосмотрим, будет ли это более новая дата, чем то, что сохранено.Вы также должны выяснить, как загрузить файл на некоторое время (возможно, вы не знакомы с кодом).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...