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

2024-01-14

这会导致 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(使用前将#替换为@)

HTTParty 的内存问题和下载大文件 的相关文章

  • 即使在急切加载之后,belongs_to 关联也会单独加载

    我有以下关联 class Picture lt ActiveRecord Base belongs to user end class User lt ActiveRecord Base has many pictures end 在我的
  • 获取嵌套参数

    我有一个带有嵌套参数的表单 在下面的示例中 如何获取控制器中的 amount whole 值 Parameters utf8 gt authenticity token gt KCmBI6RLh0LdUsM2r5H1vhNykS1IXecF
  • Windows 7 x64 上的 Ruby on Rails SQLite 问题

    当我尝试做的时候db create使用 Windows 7 x64 在具有此数据库配置的 sqlite 数据库上 development adapter sqlite3 database db development sqlite3 tim
  • Ruby require 'file' 不起作用,但 require './file' 可以。为什么?

    我有一个充满 ruby 文件的文件夹 当我尝试使用位于同一目录中的另一个文件中的一个文件时require file 我得到一个LoadError但是当我使用require file 一切正常 有人可以向我解释为什么会发生这种情况吗 如果有什
  • 为什么我收到“未定义的方法`assert_valid_keys`”?

    知道为什么我会收到此错误 Exception encountered
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • ruby从1.8.7升级到1.9.2(使用Rails 3.1.1)后本地服务器错误

    我刚刚安装了rvm并使用rvm将ruby从1 8 7升级到1 9 2 我在我的应用程序上运行了捆绑安装 它重新安装了我的 gems 当我在本地运行 Rails 服务器并将浏览器导航到 localhost 3000 时 服务器日志中显示以下错
  • Rails 4 使用 ajax、jquery、:remote => true 和 respond_to 渲染部分

    使用 AJAX 动态渲染页面以响应提交的表单似乎很常见 其他类似的问题都没有集中于如何以一般方式做到这一点 我能找到的关于这个主题的最好的博客文章在这里 http www gotealeaf com blog the detailed gu
  • Objective-C:int值无故改变

    Objective C 我需要帮助保留 int 的值 无需我的命令 它就在我身上发生变化 最初的问题是 如何声明和保留 int 这在另一篇文章中得到了满足 Objective C 如何声明和保留 int https stackoverflo
  • 在端口80启动webrick(mysql2 gem问题)

    我正在尝试让我的 webrick 在端口 80 上提供服务 我尝试过 rails server p 80 但访问被拒绝 后来我明白使用端口1 1024需要root权限 所以我尝试了这个 sudo rails server p 80 但是 现
  • Ruby/Rails 集合到集合

    我有两个表与一个连接表连接 这只是伪代码 Library Book LibraryBooks 我需要做的是 如果我有一个图书馆的 id 我想获取该图书馆拥有的所有书籍所在的所有图书馆 因此 如果我有图书馆 1 图书馆 1 中有书籍 A 和
  • iOS 视图控制器内存在被关闭后未释放

    当用户单击按钮时 它会显示一个带有两个视图控制器的新选项卡栏视图控制器 我是这样做的 ACLevelDownloadController dvc ACLevelDownloadController alloc initWithNibName
  • Ruby 中的 DateTime.parse() 是否依赖于语言环境?

    我想知道以下示例的输出 解析时01 03 它会被解决为Mar 1st or Jan 3rd Ruby 不依赖于语言环境 因为红宝石是一个服务器端语言而不是客户端像 JavaScript 一样的语言 Ruby 使用系统时钟yourWeb 应用
  • 如何从 Ruby 中的特定相对路径加载文件?

    我正在制作一颗供内部使用的宝石 在其中 我从另一个目录加载一些 YAML in
  • Rails/Ruby 合并两个具有相同键、不同值的哈希值

    我有两个想要合并的哈希值 它们看起来像这样 Hello gt 3 Hi gt 43 Hola gt 43 第二个哈希看起来像 Hello gt 4 Hi gt 2 Bonjour gt 2 我想合并这两个哈希数组 使结果看起来像 Hello
  • Rails 资源单数还是复数?

    我有一条搜索路线 我想将其设为单数 但是当我指定单数路线时 它仍然会生成复数控制器路线 这是应该的样子吗 resource search Gives me search POST search format action gt create
  • Heroku Rails 应用程序级别不记录日志

    我在 Heroku 上有一个 Rails 应用程序 它没有在应用程序级别进行日志记录 当前版本 红宝石1 9 3 导轨3 1 3 在 config environment development rb 中有以下几行 config logge
  • 让 Rails 生产在端口 80 上运行

    我正在尝试让我的 Rails 应用程序在生产模式下运行 但遇到了一些困难 我正在使用 Passenger 和 apache 并运行 Ubuntu 12 04 我已经配置和创建了生产数据库 并设置了乘客 状态如下 rvmsudo passen
  • Watir Webdriver 加载 Chrome 扩展

    我正在尝试使用 Watir 加载 chrome 扩展 但遇到了问题 我发现这个相关问题 能够启动带有 watir webdriver 加载扩展的 chrome https stackoverflow com questions 125867
  • 将查询字符串参数作为表单发布的一部分发送

    有没有办法捕获查询字符串并将其作为表单帖子的一部分发送 我正在使用 Rails 2 3 5 我的用户所在的页面有多个查询字符串参数 在此页面上 他们将提交一份表格 在接收帖子的操作中 我想知道这些查询字符串参数是什么 显然 它们不是作为邮件

随机推荐

  • PHP 致命错误:尝试运行测试样本时未找到“WP_UnitTestCase”类

    我正在尝试使用 phpunit 用我的 wordpress 插件初始化 php 单元测试 我在 Windows 上运行 xampp 我的 xampp 安装也在我的 E 驱动器上 如果这有什么区别的话 我正在按照本教程进行操作 https w
  • 绕过 SSO 的 cypress 脚本示例

    我正在设置新的 cypress 测试来测试 Dynamics 365 应用程序中的一些功能 但是 我留下了一个带有 url 的浏览器窗口https login microsoftonline com https login microsof
  • D3、SVG 和 textPath:如何向下移动文本?

    我有一个图表 其中使用 textPath 沿着其中一个路径编写了一些文本 但是 我的问题是 我需要文本位于文本路径的另一侧 即位于其下方 这是一个例子 我需要此处的文本位于纯蓝色区域内 也就是说 你实际上可以阅读它 这里的蓝色弧线是文本路径
  • python 2.7:无法在 Windows 上使用 pip“bash:pip:找不到命令”

    我正在尝试安装位于以下位置的 SciPy 堆栈 https scipy org stackspec html https scipy org stackspec html 我只允许有2个链接 尝试明智地使用它们 我意识到有更简单的方法可以做
  • git 如何处理文件系统中的移动文件?

    如果我在存储库中移动文件 例如从一个文件夹移动到另一个文件夹 git 是否足够聪明 知道这些是相同的文件 并且仅更新其对存储库中这些文件的引用 或者新提交实际上创建了这些文件 我问这个问题是因为我想知道 git 对于存储二进制文件有多大用处
  • 如何在 Web 表单数据绑定表达式中使用扩展方法?

    有人在数据绑定表达式中成功使用了扩展方法吗 假设我有一个名为 GetName 的扩展方法附加到 MyClass 在后面的代码中 我已经验证了这一点 MyClass myObject new MyClass MyClass GetName 但
  • 怎么能不把孩子当道具呢。相反,将子级嵌套在 React 的开始和结束标签之间?

    错误说 不要将孩子作为道具传递 相反 当我添加这部分 children 时 将子级嵌套在开始和结束标记之间 我不熟悉反应和脉轮所以有人可以帮助解决这个问题吗
  • Powershell 中的快速注册表搜索器

    我正在尝试将我在 Github 上找到的这个搜索注册表脚本合并到我的一个脚本中 https github com KurtDeGreeff PlayPowershell blob master Search Registry ps1 htt
  • 如何在 mongodb 类别中返回布尔值

    如果我有一个收藏Friends like id ObjectId abcdef1 user Jim user2 Jon id ObjectId abcdef2 user Jim user2 Fred id ObjectId abcdef3
  • Android Studio:NoClassDefFoundError

    我正在尝试构建一个使用 javamail 和 gmail 的 smtp 服务发送电子邮件的应用程序 但是当我运行它时 当我调用 Session getInstance 时它会崩溃 调试后发现这是一个关于 com sun mail util
  • python:绘制线框3D长方体

    我想在 python 中绘制 3d 长方体 输入 中心 中心3分 半径 3 个半径值 每个维度一个 理想情况下 它应该是一个线框图 我需要看看里面有什么 我不太确定如何去做 使用 python matplotlib 或 Mayavi 就可以
  • 有什么方法可以让 python 文件名不以完全限定名称结尾吗?

    假设我们有这样的文件结构 project ticklers kitten tickler py class KittenTickler puppy tickler py class PuppyTickler 假设 KittenTickler
  • 导入文本文件出现错误

    我有一个包含以下数据的文本文件 5298 10036 4 360 8 6128 11947 2 385 7 9472 18930 0 233 4 5056 9790 1 293 6 我使用以下代码读取该文件 file1 open test
  • 适用于 VISTA、7 及更高版本的 Windows API

    WinAPI Win32 之间有什么根本区别吗 利用新操作系统功能是否需要任何其他知识 过去编写过 Win32 应用程序的人是否可能会陷入任何陷阱 我不是在谈论 Silverlight 那是一个完全不同的蜡球 我还没有在工作中支持这一点的
  • 我可以安全地将 OpenMP 与 C++11 结合使用吗?

    OpenMP 标准仅考虑 C 98 ISO IEC 14882 1998 这意味着在 C 03 甚至 C 11 下没有支持使用 OpenMP 的标准 因此 任何使用 C gt 98 和 OpenMP 的程序都会在标准之外运行 这意味着即使它
  • 使用 rhino 的 JavaAdapter 的示例

    有人可以给我提供一个如何使用 Rhino 的 java 适配器在 java 脚本中扩展 java 类的示例吗 对于其他可能遇到此问题的人来说 有一个很好的例子here http my opera com sutabi blog puttin
  • 已达到 Google App Engine 前端实例时间限制

    我有一个使用 Google App Engine 免费选项托管的静态 html 网站 我没有任何流量可言 因为它是新网站 唯一的流量是我自己访问该网站 我注意到 只有 15 个主页请求 我的前端实例消耗时间为 5 按照这个速度 我的网站每天
  • 如何在Tableau中显示40+列?

    我正在尝试制作一份包含大约 40 列 Dims measure 的列表报告 但无法正确完成 该要求推动了Tableau通过利用其仅 16 列的限制来限制 我怎样才能完成这件事 我读了这个 http www tableausoftware c
  • Dot:如何用黑色轮廓装饰图形节点,同时用另一种颜色填充?

    我需要格式化点图的帮助 为了简化我的问题 我在这里有一个点代码 我通过点工具运行它 digraph G TestNode label Test Node shape egg style filled color yellow 结果是这样的
  • HTTParty 的内存问题和下载大文件

    这会导致 Ruby 的内存问题吗 我知道如果大小超过 10KB Open URI 就会写入 TempFile 但是 HTTParty 会在写入 TempFile 之前尝试将整个 PDF 保存到内存中吗 src Tempfile new fi