使用Ruby Sinatra从FTP下载CSV文件的步骤如下:
require 'sinatra'
require 'net/ftp'
require 'csv'
get '/download_csv' do
# 连接到FTP服务器
ftp = Net::FTP.new('ftp.example.com')
ftp.login('username', 'password')
# 切换到CSV文件所在的目录
ftp.chdir('/path/to/csv/files')
# 下载CSV文件
ftp.getbinaryfile('filename.csv', 'temp.csv')
# 关闭FTP连接
ftp.close
# 设置响应头,告诉浏览器下载文件
headers['Content-Disposition'] = 'attachment; filename="filename.csv"'
headers['Content-Type'] = 'text/csv'
# 读取CSV文件内容并发送给客户端
File.read('temp.csv')
end
# 启动Sinatra应用
ruby app.rb
http://localhost:4567/download_csv
,将会下载名为filename.csv
的CSV文件。这个例子中使用了Ruby的Net::FTP
库来连接到FTP服务器并下载文件。Sinatra框架用于创建一个简单的Web应用,处理下载请求并发送文件给客户端。在下载前,可以根据实际情况修改FTP服务器的地址、用户名、密码、文件路径和文件名。
这种方法适用于需要从FTP服务器下载CSV文件的场景,比如数据导入、数据分析等。腾讯云提供了云服务器、对象存储、云数据库等产品,可以用于搭建和托管Ruby应用,存储和管理CSV文件。具体产品信息和介绍可以参考腾讯云官方网站:腾讯云。
领取专属 10元无门槛券
手把手带您无忧上云