2010-08-17 6 views
1

J'essaye de télécharger un fichier à partir d'un site ftp seulement s'il est plus récent que mon fichier local. Quelqu'un peut-il aider à intégrer pour vérifier les propriétés du fichier? maintenant il télécharge le fichier, mais juste besoin si plus récent. Le but est de mettre à jour un fichier .mdb avec le contenu du fichier, donc vous ne voulez pas télécharger le fichier et exécuter une mise à jour chaque fois que mon application est exécutée, uniquement si le fichier est différent. Voici le code que je utilise:Télécharger le fichier depuis ftp si plus récent ou différent

 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 

Toute aide est appréciée

Répondre

1

Je ne sais pas si cela répond à votre question, mais je cherche une réponse similaire et est tombé sur ce sujet.

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

Regardez dans LastWriteTime et vous pourriez économiser ce temps et vérifier si elle est une date plus récente que celle enregistrée. Vous devriez également comprendre comment télécharger le fichier en tant que temps (pas familier avec le code peut-être vous êtes).

Questions connexes