在我的 Rails 应用程序中,我连接到 SFTP 并根据模式下载文件。 我的代码如下所示:
require 'net/sftp'
...
Net::SFTP.start(host, user, config) do |sftp|
Rails.logger.info "Connected to sftp"
sftp.dir.glob(@file_path, @file_regex) do |file|
...
end
end
我需要下载 xlsx 和 csv 文件。下面是获取@file_regex的函数:
def fetch_sftp_file_format
ist_timezone = TZInfo::Timezone.get('Asia/Kolkata')
current_date = Time.now.in_time_zone(ist_timezone).strftime('%Y_%m_%d')
"*_#{current_date}.xlsx"
end
此代码工作正常,但我无法同时设置 xlsx 和 csv 文件的模式。 所有文件类型的模式
"*_#{current_date}.*"
也有效。
我尝试了
"*_#{current_date}.(xlsx|csv)"
,"*_#{current_date}.(xlsx|csv)$"
,但这些不起作用。
net-sftp gem 版本:4.0.0