我正在使用 Paperclip (2.3) 处理在 Ubuntu 上运行的 Rails 3.0.3 应用程序上的图像上传。Paperclip 正在按照宣传的方式处理上传,但在应用程序的 /tmp 文件夹中创建的 RackMultipart* 文件仍然存在——也就是说,它们只是累积而不是自行删除。我意识到我可以使用 tmpreaper 删除旧的 tmpfiles,但我真的很想找到一个更优雅(和可扩展)的解决方案。
我以前遇到过临时文件(即 RackMultipart* 文件)累积在 Rails 应用程序的根目录(而不是 /tmp 中)的问题。我通过在 environment.rb 文件中显式设置临时路径来解决这个问题,如下所示:
ENV['TMPDIR'] = Rails.root.join('tmp')
是否需要设置另一个环境变量以确保正确处理临时文件 - 即一旦将它们保存在模型中就删除?我不确定这是否是 Paperclip 或我的 Rails 设置的问题。
我到处搜索,但在这方面进展甚微。我会很感激任何线索。
真诚的感谢。
PS - 我目前正在使用 S3 进行存储。不过,这似乎与问题无关——我在本地存储文件时遇到了同样的问题。