这会导致 Ruby 的内存问题吗?我知道如果大小超过 10KB,Open-URI 就会写入 TempFile。但是 HTTParty 会在写入 TempFile 之前尝试将整个 PDF 保存到内存中吗?
src = Tempfile.new("file.pdf")
src.binmode
src.write HTTParty.get("large_file.pdf").parsed_response
您可以使用 Net::HTTP。看文档 http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html(特别是标题为“流响应主体”的部分)。
这是文档中的示例:
uri = URI('http://example.com/large_file')
Net::HTTP.start(uri.host, uri.port) do |http|
request = Net::HTTP::Get.new uri.request_uri
http.request request do |response|
open 'large_file', 'w' do |io|
response.read_body do |chunk|
io.write chunk
end
end
end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)