これにより、Ruby でメモリの問題が発生しますか? サイズが 10KB を超えると、Open-URI が TempFile に書き込むことがわかっています。しかし、HTTParty は、TempFile に書き込む前に PDF 全体をメモリに保存しようとしますか?
src = Tempfile.new("file.pdf")
src.binmode
src.write HTTParty.get("large_file.pdf").parsed_response
これにより、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 を使用できます。ドキュメントを参照してください(特に、「ストリーミング レスポンス ボディ」というタイトルのセクション)。
ドキュメントの例は次のとおりです。
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