gpt4 book ai didi

ruby-on-rails - 从 Ruby 中打开回形针附件的标准/正确方法是什么?

转载 作者:行者123 更新时间:2023-12-04 12:34:48 26 4
gpt4 key购买 nike

Paperclip 提供了一个 .url 方法来获取包含在 View 中的附件的 URL。

我需要从 Ruby 中实际打开一个附件作为文件。

大约六个月前,Paperclip 的最新版本允许我们在附件对象上调用 to_file。尽管它没有记录,但它始终如一地工作。但在某些时候它停止了工作。

我希望能够从验证器中打开文件本身(在这种情况下它尚未保存到其最终位置)或在保存 ActiveModel 对象后从完全其他的方法中打开文件(在这种情况下文件已移动到其最终位置,可能在 Amazon S3 上)。

似乎选项是:

file = File.new(object.attachment.path)

...仅适用于本地文件,不适用于 S3 上的文件。或者:
file = object.attachment.queued_for_write[:original]

...仅在第一次保存之前有效(我认为)?

似乎应该有一种简单的方法来打开文件(在 Amazon S3 之类的情况下,可能涉及将其复制到临时位置),我猜答案与 io_adapters 有关系,但我已经通读了代码(以及相当多的 StackOverflow 问题),但我仍然被难住了。

是否有一种标准方法可以将回形针附件作为适用于所有情况的文件打开?

最佳答案

这将为您提供文件(假设您的模型附加了 file

require 'open-uri'

file = open(yourmodel.file.url)

关于ruby-on-rails - 从 Ruby 中打开回形针附件的标准/正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12700189/

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