【发布时间】:2020-02-18 02:35:44
【问题描述】:
我正在使用 Ruby on Rails 将文件上传到服务器
通常,它是一个文本文件,我将它保存在模型中作为提交 ActiveRecord 中的“文件”字段以及提交标题等其他字段。
但是,用户也可以提交 zip 文件。在这种情况下,应该解压缩 zip 文件,并为 zip 中的每个文件创建一个新的提交,使用相同的文本字段,但当前文件。
我怎样才能做到这一点?
我在网上查看了解压缩示例,但大多数使用目录将文件解压缩到。我不确定是否需要像 SubmissionsController 的当前 create 方法那样,接收到一个文件对象,并且我假设在调用 Submission save 方法时会自动生成保存文件的路径。所以我在想,也许我应该在内存中解压缩 zipfile 以获取文件对象数组,然后使用每个文件对象但相同的字段创建一个新的提交,然后让 ActiveRecord 在将它们保存到时为每个文件生成文件路径数据库。 我在这里可能错了,因为我对 Rails 和 Ruby 有点陌生。
【问题讨论】:
标签: ruby-on-rails ruby file zip