2009-08-12 5 views
0

J'ai écrit un script de synchronisation pour télécharger un fichier local s'il n'existe pas sur le serveur ftp.Comparaison de la taille de fichier locale et distante via Net :: FTP dans Rails

Je veux le rendre plus robuste en veillant à ce que la taille du fichier sur chaque match. Cela permettra au script de corriger le fichier s'il a été interrompu lors d'un téléchargement.

Quelle est la meilleure façon d'obtenir la taille de fichier pour les fichiers distants et locaux.

J'utilise Net :: FTP pour vous connecter au serveur distant

Merci

Répondre

2

En supposant que vous avez un accès direct au fichier à la fois localement et à l'extrémité éloignée. Vous pouvez appeler la taille des deux côtés.

Net::FTP.open('ftp.example.com') do |ftp| 
    ... 
    ftp.putbinaryfile('local.file', 'remote.file') 
    remote_size = ftp.size('remote_file') 
    local_size = File.size('local_file') 
    <assert error condition> if remote_size != local_size 
end 
Questions connexes