Сравнение размера локального и удаленного файла через Net::FTP в Rails

StackOverflow https://stackoverflow.com/questions/1268641

Вопрос

Я написал сценарий синхронизации для загрузки локального файла, если он не существует на ftp-сервере.

Я хочу сделать его более надежным, гарантируя, что размер каждого файла соответствует.Это позволит сценарию исправить файл, если он был прерван во время загрузки.

Как лучше всего узнать размер файла как для удаленных, так и для локальных файлов.

Я использую Net::FTP для подключения к удаленному серверу.

Спасибо

Это было полезно?

Решение

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

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top