مقارنة حجم الملف المحلي والبعي عن طريق NET :: FTP في القضبان

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