如何在 Ruby 中进行 FTP 而不先保存文本文件
由于 Heroku 不允许将动态文件保存到磁盘,我遇到了一个困境,我希望你能帮助我克服。我有一个可以在 RAM 中创建的文本文件。问题是我找不到允许我将文件流式传输到另一个 FTP 服务器的 gem 或函数。我正在使用的 Net/FTP gem 要求我首先将文件保存到磁盘。有什么建议吗?
ftp = Net::FTP.new(domain)
ftp.passive = true
ftp.login(username, password)
ftp.chdir(path_on_server)
ftp.puttextfile(path_to_web_file)
ftp.close
ftp.puttextfile 函数要求物理文件存在。
Since Heroku does not allow saving dynamic files to disk, I've run into a dilemma that I am hoping you can help me overcome. I have a text file that I can create in RAM. The problem is that I cannot find a gem or function that would allow me to stream the file to another FTP server. The Net/FTP gem I am using requires that I save the file to disk first. Any suggestions?
ftp = Net::FTP.new(domain)
ftp.passive = true
ftp.login(username, password)
ftp.chdir(path_on_server)
ftp.puttextfile(path_to_web_file)
ftp.close
The ftp.puttextfile function is what is requiring a physical file to exist.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
StringIO.new 提供了一个行为类似于的对象一个打开的文件。创建像 puttextfile< 这样的方法很容易/a>,使用 StringIO 对象而不是文件。
StringIO.new provides an object that acts like an opened file. It's easy to create a method like puttextfile, by using StringIO object instead of file.
Heroku 的 David 对我在那里输入的支持票证做出了迅速回复。
David at Heroku gave a prompt response to a support ticket I entered there.