【问题标题】:How do I upload multiple images to 1 record directly to s3?如何将多张图片直接上传到 1 条记录到 s3?
【发布时间】:2013-01-30 10:48:16
【问题描述】:

我有一个Product 模型,对于创建的每条记录,我想要与该记录关联的多个图像(比如 3 - 10)。每张图片都应该有多种尺寸(比如 3 种不同的尺寸)。

我检查了 Carrierwave 并且有效 - 但仅适用于 1 张图像(或者更确切地说,我不知道如何为 1 条记录获取多张图像)。

我还查看了 jQuery File Upload,它似乎允许轻松上传多个文件,但最终归结为每个上传都与 1 条记录相关联。所以,是的,你可以拖放文件,但如果你拖动 5 个文件,你就创建了 5 条记录。

理想情况下,我希望能够获得相同的 jQuery-File-Upload 功能(在客户端完成处理,在上传过程中显示进度条,如果可能,可以拖放等)但只是允许一次上传的所有图像分配给 1 条记录。

谢谢。

【问题讨论】:

  • 我之前(几乎)一直在为此苦苦挣扎……您将需要多个列或单独的图像模型。找到github.com/kdironside/carrierwave-multi-file-upload 作为具有图库/照片样式模型的示例应用程序。实现嵌套表单也不应该太难。
  • 嗯,我遇到了,看起来不错。问题是,在这种情况下,画廊有多张照片,每张照片对应于画廊中的唯一记录。那不完全一样。我正在使用 Carrierwave,我想将多张图片/照片与 1 条唯一的产品记录相关联。只是还没有弄清楚如何做到这一点。
  • 对不起,我不明白其中的区别......我很抱歉。你在 github 上有公共项目吗?

标签: ruby-on-rails ruby-on-rails-3 carrierwave image-uploading jquery-file-upload


【解决方案1】:

您可以将序列化参数存储在数据库中,因此您会将所有图像存储在 1 列中。但是更好的解决方案是创建属于您的父模型和您的父模型的新模型 has_many :new_model

【讨论】:

  • Carrierwave 已经创建了一个新模型 - 那么在使用 Carrierwave 时我该如何执行您的建议?
  • 载波不做新模型。它会在您的模型中创建新的上传器。在那里你可以尝试序列化参数
  • 我没有意识到我应该制作另一个名为 Uploads 或 Images 的模型并将 Carrierwave 安装到该模型上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-04
  • 2020-11-11
  • 1970-01-01
  • 2020-09-20
  • 2020-06-24
  • 2020-07-05
  • 2021-07-02
相关资源
最近更新 更多