Tôi đang cố gắng tìm ra cách tốt nhất và nhanh nhất để biết tệp có tồn tại trên máy chủ ftp hay không.Làm cách nào để biết tệp FTP có tồn tại bằng ruby không?
Đây là những gì tôi đã đưa ra ...
def remote_exists?(idx)
#@file.rewind if @file.eof?
ftp = Net::FTP.new(FTP_SERVER)
ftp.login
begin
ftp.size(idx)
rescue Exception
return false
end
true
end
Nó có vẻ như chỉ chụp mỗi ngoại lệ là một ý tưởng tồi nhưng tôi gặp rắc rối khi các ngoại lệ cụ thể chính xác (s).
Tôi cũng đang sử dụng OpenURI trong mã của mình để thực sự nhận tệp. Tôi đã cố gắng tìm ra nếu có thể có một số phương pháp có thể tốt hơn nhưng tôi nghĩ rằng nó chỉ sử dụng Net :: FTP anyway.
Mã có thể hỏi máy chủ xem nó có hỗ trợ kích thước hay không, nhưng liệt kê tệp hoặc tệp cụ thể và việc giải nén kích thước phải phổ biến hơn - ngoại trừ máy chủ FTP không nhất thiết phải tuân thủ tiêu chuẩn cho danh sách của chúng. Trong một môi trường chuyên dụng/đơn sử dụng dễ dàng để làm việc xung quanh. Trong một máy khách chung, nó cần nhiều công việc hơn. –