使用以下ftp_download
方法有效,但如果我改变
ftp.getbinaryfile(file,localdir,1024) #=> Saves the file to localdir
至
ftp.getbinaryfile(file) #=> returns nil
我得到nil
回报。根据
http://www.ruby-doc.org/stdlib-2.0/libdoc/net/ftp/rdoc/Net/FTP.html#method-i-getbinaryfile
inilf 我设置localfile
为nil
如上,数据应该由方法检索和返回。我究竟做错了什么?
def ftp_download(domain,remotedir,filename_regex,user=nil,pwd=nil)
ftp = Net::FTP::new(domain)
if user && pwd
ftp.login(user, pwd)
end
ftp.chdir(remotedir)
fileList = ftp.nlst(filename_regex)
fileList.each do |file|
localdir=File.join(remotedir,file)
localdir=localdir[1..-1] if localdir[0]="/"
FileUtils.mkdir_p(File.dirname(localdir))
ftp.getbinaryfile(file,localdir,1024)
end
ftp.close
end