gpt4 book ai didi

ruby-on-rails - 回形针处理器在 S3 上运行

转载 作者:行者123 更新时间:2023-12-04 05:45:25 25 4
gpt4 key购买 nike

我正在尝试创建一个自定义的 Paperclip::Processor,它与外部网络服务集成(处理器将在上传新文件时调用网络服务)。外部服务需要文件存在于 S3 中,并将处理自动将处理后的版本上传到 S3。

这可以使用自定义 Paperclip::Processor 来完成还是应该使用 ActiveRecord 回调来完成?如果 Paperclip::Processor 可以工作,触发上传的最佳方式是什么?理想情况下我想做一个处理器,但要求是原始文件必须首先上传到 S3。我看过使用 after_create 调用,但它有时似乎与回形针中使用的 after_create 冲突。谢谢。

最佳答案

您可以这样做来创建文件的本地副本。如果它在 S3 上,它将被下载。

tmp_file = @model.attached_file.to_file => TempFile<...>

然后您可以在此临时文件上进行操作。当你不在的时候:

@model.attached_file = tmp_file
@model.save

编辑:误读了您的问题。您可以使用 before_post_processafter_post_process Hook 在处理文件之前或之后执行任务。

class Model < AR::Base
has_attached_file :avatar

after_post_process :ping_webservice

private

def ping_webservice
# Do your magic here.
end
end

关于ruby-on-rails - 回形针处理器在 S3 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4192925/

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