Ruby 读取远程文件进行流式传输

HXH*_*HXH 5 ruby iostream ruby-on-rails-3

我需要将远程文件保存到云存储服务器,所以我必须将此文件读取到文件流,我发现这篇文章: 从本地文件或 url 打开 IO 流 答案是:

require 'open-uri'
file_contents = open('local-file.txt') { |f| f.read }
web_contents  = open('http://www.stackoverflow.com') {|f| f.read }
Run Code Online (Sandbox Code Playgroud)

但这web_contents是不对的。然后我将此操作与自定义本地文件上传进行比较,格式是什么ASCII-8BIT,格式不一样。所以如何从远程文件中获取正确的流。

tom*_*ave 5

对我来说似乎没问题:

require 'open-uri'
web_contents  = open('http://www.stackoverflow.com') {|f| f.read }

out_file = File.expand_path("~/Desktop/out.html")

File.open(out_file, "w") do |f|
  f.puts web_contents
end
Run Code Online (Sandbox Code Playgroud)