【问题标题】:Using URL variables in 'show' view在“显示”视图中使用 URL 变量
【发布时间】:2016-02-23 07:57:35
【问题描述】:

我正在开发一个 Ruby on Rails 项目,该项目使用 Paperclip 进行文件上传,使用 S3 进行存储,并使用 Blitline 进行一些后端图像转换。转换的结果在我的 S3 存储桶中与原始文件一起提供了原始文件和一个名为 upload.png 的文件。

所以,转换后我有两个文件,大致如下: myaws.amazonaws.com/mybucket/model_id/original.pdfmyaws.amazonaws.com/mybucket/model_id/upload.png

理想情况下,我想将原件放在我的存储桶中,我的用户需要再次下载它,或者如果我们出于某种原因需要进行另一次转换。

是否有类似于<% = image_tag @attachment.url %> 的方法可以指定文件'upload.png'?

编辑(更多信息:)

我确实尝试了<% = image_tag @attachment.url, :format => :png %>,尽管它不起作用。似乎 rails 仍在尝试将其作为 PDF 提取出来

【问题讨论】:

    标签: ruby-on-rails amazon-s3 paperclip


    【解决方案1】:

    您是否为附件指定了style?如果你有一个,比如说xyz,那么你可以获得网址<% = image_tag @attachment.url(:xyz) %>

    【讨论】:

    • 好主意 - 我在使用 ImageMagick 进行转换时有一个,但在移动到 Blitline 时删除了它。我在我的模型中添加了:styles => { image: [ :png] },在我的视图中添加了<%= image_tag @template.attachment.url(:image)%>...仍然得到一个断开的链接foo.pdf
    • 更正 - 现在我得到了一个损坏的图像链接到 <img src="http://s3.amazonaws.com/mybucket/images/sub_dir/images/272/original_filename.png" alt="Original_filename" /> - 但正如我上面提到的,我需要访问 upload.pngexplicitly
    猜你喜欢
    • 2020-01-11
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 2016-05-09
    相关资源
    最近更新 更多