在提交时将表单的PDF副本上载到AWS S3

时间:2014-02-20 19:52:01

标签: ruby-on-rails ruby amazon-web-services amazon-s3 carrierwave

我目前有一个使用nested_form gem的大表单,我想添加“update”函数的功能,它将表单的pdf保存到AWS的S3。

目前我已经实现了PDFKit Gem,并且能够通过简单地将.pdf扩展名添加到路径来生成pdf。例如。

/user/2/form/2

<%= nested_form_for(@user,@form) do |f| %>
  .....
  <%= f.fields_for :images do |i|%>
  .....
  <% end %>
<% end %>

和/user/2/form/2.pdf呈现pdf。

我尝试使用Carrierwave实现此功能来创建隐藏:remote_image_url字段并将.pdf远程上传到s3,但这会导致超时,因为表单太大。我试图使用CarrierwaveDirect,但据我所知,无法在nested_form_for中使用direct_form_for,所以我不确定是否可以实现直接上传功能。

我已经开始使用适用于Ruby的AWS开发工具包来创建可以在保存时发生的后台进程。但是,我正在努力寻找一种方法,允许我从远程位置保存文件。

有没有我尚未考虑的替代方案?任何建议或指导将不胜感激。

// // EDIT

我在Heroku上运行,这会阻止在服务器上保存文件的简单性。但是,在阅读了几篇文章后here。我现在正在使用模型方法before_save将文件临时保存到服务器的路径。并将其直接转移到s3。仍然不确定从服务器获取文件到aws S3的最佳方法,但此时我将尝试使用适用于Ruby的AWS开发工具包,看看我能否做到这一点。

0 个答案:

没有答案