gpt4 book ai didi

file-upload - 为什么 RackMultipart* 文件会保留在我的 Rails/tmp 目录中?

转载 作者:行者123 更新时间:2023-12-04 00:53:27 24 4
gpt4 key购买 nike

我正在使用 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 进行存储。不过,这似乎与问题无关——我在本地存储文件时遇到了同样的问题。

最佳答案

我不知道这是否更优雅,但这是保存文件后我正在做的事情”

tempfile = params[:file].tempfile.path
if File::exists?(tempfile)
File::delete(tempfile)
end

关于file-upload - 为什么 RackMultipart* 文件会保留在我的 Rails/tmp 目录中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4590229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com