【问题标题】:How to access queued_for_write image in paperclip如何在回形针中访问 queued_for_write 图像
【发布时间】:2015-06-01 15:25:07
【问题描述】:

我为我的用户实现了一个预览选项,它以预览模式显示创建的帖子。用户可以在那里上传图像,我正在使用回形针 + AWS S3 来处理图像。我想在保存之前显示选定的图像。

现在我想到了如何实现这一点的各种方法。我发现最好的是使用

image.queued_for_write[:original].path

因为我发现回形针在处理图像时会传递一个临时 URL。 到目前为止有效,但是当我在我的视图中实现该路径时,我看到了这种模式: /var/folders/xw/35zfm_dj0h1bcn78z3m1n8d40000gn/T/78805a221a988e79ef3f42d7c5bfd41820150601-34952-1y9eun7.jpg

这看起来确实是一个有效的路径,但没有加载图像,而是返回了 404。

我的问题是如何访问回形针中的临时图像路径,以便使用可靠的预览功能?

【问题讨论】:

    标签: ruby-on-rails paperclip


    【解决方案1】:

    image.queued_for_write[:original].path 是正确的,但不能只在视图中链接它。

    您应该改为读取并将其转换为 Base64,然后将其传递给视图。

    在控制器中:

    def preview
      file = image.queued_for_write[:original].path
      file_content = file.read
      @preview = "data:image/png;base64," + Base64.encode64(file_content)
    end
    

    在视图中只使用传递的预览:

    <img src="<%= @preview %>" />
    

    它应该可以正常工作。我自己没有测试过这段代码,但我过去使用过非常相似的东西。

    【讨论】:

      猜你喜欢
      • 2016-08-04
      • 2016-07-20
      • 1970-01-01
      • 2013-12-23
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 2018-08-25
      • 2011-05-06
      相关资源
      最近更新 更多