我应该自己从文件系统中删除上传的文件吗?

时间:2018-10-07 23:21:41

标签: ruby-on-rails ruby linux ruby-on-rails-5 attachment

我有一个Rails应用程序,用户可以在其中上传文件。通过backgroud作业将文件上传到外部云服务。对于我的应用程序而言,至关重要的是,文件上传后不会存储在文件系统中。通常,不是马上就可以-它们一定不能保留在文件系统中。

我应该自己删除它们吗?还是会自动删除?

另外,调试我的应用程序时,我注意到了附件参数:

var html = HtmlService.createHtmlOutputFromFile('Index'); 

该文件不是存储在“ / tmp”中,而是存储在“ / var”中,这意味着它不会被自动删除,对吗?

请注意,我没有使用回形针来完成此任务。

2 个答案:

答案 0 :(得分:0)

是的,文件不会自动删除。 您必须在某个时间点明确删除该文件。

答案 1 :(得分:0)

这取决于您的设置方式。如果您使用Tempfile保存它,则是的,当对象被垃圾回收时,文件将被删除。如果没有,那么它可能不会被删除。

如果文件存储在外部服务上,则可能值得设置ActiveStorage,它可以让您直接上传到外部存储提供商,而无需碰到服务器。