HTTParty的内存问题并下载大文件

这是否会导致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。 请参阅文档 (特别是标题为“Streaming Response Bodies”的部分)。

以下是文档中的示例:

 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