ruby-on-rails - 如何在 ruby​​-rails 中自动删除临时文件?

标签 ruby-on-rails ruby temporary-files

我的 Rails 应用程序必须处理和生成 PDF XFA 文件并发送给用户/浏览器。 它工作正常。但问题是,在将文件发送给用户之前,它会在 rails tmp 目录中创建 2 个文件。

如果 pdf_controller 有 10 个请求,tmp 目录中的临时文件数量将增加一倍,并且会占用空间。

四处搜索后,我认为 Sweeper 会来救援。但对 Sweeper 了解不多。

那么,有人可以建议走哪条路吗?

最佳答案

Tempfile 将在对象完成时删除文件。

Tempfile on Rdoc

例子:

def get_pdf
  model = Model.find(params[:id])
  file = Tempfile.new
  model.to_pdf(file)
  send_file file.path, ...
end

如果您将代码粘贴到您的问题中,我可以提供一个更好的示例。

关于ruby-on-rails - 如何在 ruby​​-rails 中自动删除临时文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/696704/

相关文章:

ruby-on-rails - 没有子域的 Multi-Tenancy

ruby-on-rails - ActiveRecord:如何进行 'OR' 合并?

ruby-on-rails - 使用 Sidekiq 的 Redis 连接池实现 Multi-Tenancy (命名空间)设置

ruby-on-rails - 将一组动态插值参数传递给 rails-i18n?

ruby-on-rails - 我如何测试 ActionMailer?

ruby-on-rails - 在 Rails 中创建帐户时创建随机、唯一的 token

asp.net-mvc - 临时 ASP.NET 文件在 Visual Studio(devex 组件)中构建项目时发生冲突

python - 长时间运行的子进程退出后清理临时文件夹

c++ - 在 Windows 上按路径强制关闭文件

ruby-on-rails - 如何强制执行 BigDecimal 的有效位数