gpt4 book ai didi

ruby-on-rails - Rails 回形针和多个文件上传

转载 作者:行者123 更新时间:2023-12-03 21:05:03 25 4
gpt4 key购买 nike

我正在寻找一种解决方案,让用户能够通过一个 file_field 上传多个图像。我已经研究过诸如 Jquery File Upload 和 Uploadify 之类的选项,但还没有遇到具有工作解决方案的好例子。

我已经有多个图像设置,

 has_attached_file :asset,
:styles => { :large => "640x480", :medium => "300x300", :thumb => "100x100" },
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/s3.yml",
:path => "/:contributor_id/:listing_name/:filename"

现在我正在显示 5 个单独的 file_fields
def new
@listing = Listing.new
5.times {@listing.assets.build }

respond_to do |format|
format.html # new.html.erb
format.json { render json: @listing }
end
end

我想拥有
<%= f.file_field :asset, :multiple => true %>

这允许用户在他们的文件浏览器中选择多个文件。但是如何使用嵌套模型处理这些?并让他们上传。

最佳答案

接受的答案说没有像 HTML 中的多个文件上传这样的东西。

<%= f.file_field :files, multiple: true %>

这允许您选择多个图像并将它们作为数组发送。

如果有关系 Dog has_many ImagesImage has_attachment :file , 这样做可以一次上传多张图片:

在你的 html.erb
<%= form_for @dog, html: { multipart: true } do |f| %>
<%= f.file_field :files, accept: 'image/png,image/jpeg,image/gif', multiple: true %>
<%= end %>

在您的 Controller 中
def dog_params
params.require(:dog).permit files: []
end

在您的 Dog 模型中
def files=(array = [])
array.each do |f|
images.create file: f
end
end

这是假设您已经能够上传一张图片但想一次升级到多张图片。请注意,等待时间会增加。

为了帮助减少等待时间,请查看我的 post 关于这个与速度上传有关的问题。

关于ruby-on-rails - Rails 回形针和多个文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10921537/

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