質問

これはRubyのメモリの問題を引き起こすでしょうか。サイズが10kbを超える場合、Open-URIがTempfileに書き込むことを知っています。しかし、HTTPARTYは、PDF全体をTempfileに書き込む前にメモリに保存しようとしますか?

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top