5

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

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

在四处寻找之后,我认为清扫车会来救援。但对Sweeper了解不多。

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

4

2 回答 2

5

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

Rdoc 上的临时文件

例子:

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

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

于 2009-03-30T15:01:32.817 回答
1

您可以使用 cron 任务,每 n 分钟删除一次文件,或者,您可以从控制器本身命令删除。

于 2009-03-30T11:45:57.810 回答