Хотите переместить всю папку, используя Net :: Ftp на рельсах - PullRequest
2 голосов
/ 15 февраля 2011

У меня есть приложение rails, которое отправляет файл на FTP.Я хочу переместить всю папку в Ftp, но выдает эту ошибку:

/home/Anup/code/DashGo-2.2.0/vendor/rails/railties/lib/commands/runner.rb:47: /usr/lib/ruby/1.8/net/ftp.rb:471:in `gets': Is a directory - /home/Anup/code/DashGo-2.2.0/private/temp_file (Errno::EISDIR)
    from /usr/lib/ruby/1.8/net/ftp.rb:471:in `storlines'
    from /usr/lib/ruby/1.8/net/ftp.rb:470:in `loop'
    from /usr/lib/ruby/1.8/net/ftp.rb:470:in `storlines'
    from /usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
    from /usr/lib/ruby/1.8/net/ftp.rb:467:in `storlines'

Я использую Net::FTP rails gem.

Любой метод, доступный в ruby, который дает списоквсе файлы с указанным именем папки?

Ответы [ 2 ]

2 голосов
/ 16 февраля 2011

FTP (в целом - не просто рубиновый камень) никогда не был хорош в передаче каталогов. На самом деле, я не уверен, что это когда-либо поддерживалось.

Взгляните на SCP. Это то, что я использовал для передачи каталогов между двумя моими компьютерами. В ruby ​​есть даже класс Net :: SCP , который должен хорошо соответствовать классу Net :: FTP, который вы используете в настоящее время.

Надеюсь, это поможет!

1 голос
/ 23 октября 2014

Также я считаю, что Net :: Scp - лучшее решение, но иногда его невозможно использовать.В этом случае я использую FTPSync ... но очень медленно (поскольку FTP работает медленно) в больших каталогах

ftpconn = FtpSync.new(<host>, <user>, <pass>)
ftpconn.verbose = true
ftpconn.push_dir(@local_path,@remote_path)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...