【发布时间】:2012-01-18 05:06:33
【问题描述】:
所以我有一些工作代码可以使用回形针 (here) 将 pdf 上传到 s3。该代码将 PDF 拆分为 jpg/页面,并将它们中的每一个都上传到 s3。
由于 heroku 有 30 秒的超时,因此此代码不适用于 Heroku 的较大文件(我可能只需要最多 10mb 的文件)。
我的印象是简单地将上传放在后台进程(delayed_paperclip gem?)仍然会导致超时,我需要将文件直接上传到 s3。我已经看到我可以使用 gem carrierwave_direct 来做到这一点。
那么现在的问题是如何拥有以下代码:
def make_manual_pages
if valid?
Paperclip.run('convert', "-quality #{ManualPage::QUALITY} -density #{ManualPage::DENSITY} #{manual.url} #{manual.url}%d.png")
images = Dir.glob("#{set_ups.url}*.png").sort_by do |line|
line.match(/(\d+)\.png$/)[1].to_i
end
images.each do |page_image|
manual_pages.build(:image => File.open(page_image))
end
FileUtils.rm images
end
end
使用carrierwave_direct。
或者也许我处理这个问题是错误的..因为如果我直接将图像上传到 s3,我什至看不到如何对图像进行处理。也许我需要直接上传文件,然后让heroku访问图像并进行处理?任何帮助将不胜感激。
【问题讨论】:
标签: ruby-on-rails ruby amazon-s3 paperclip carrierwave