整理Active Storage文件以用于其他系统?

问题描述

Active Storage以如下文件结构存储上载内容

enter image description here

如果rails应用程序是唯一需要使用这些文件的软件,那么这很好。

但是,如果该应用仅用作将图像上传到S3以便其他一些(完全独立的)服务可以使用它们的方式,该怎么办?

问题是,其他开发人员将无法理解目录和文件,因为它们以Rails可以理解的方式进行了标记,但是人类却无法理解(例如,名为“ O2”的文件夹的含义)是什么意思?)。

是否有某种方法可以确保以人性化的方式存储上传内容?例如每个文件夹可以是一个user_id,其中包含其资产? (或类似)

解决方法

据我所记得,您将必须实施自己的服务,以某种方式将key替换为其他内容(例如S3Service),或修补ActiveStorage以在不同的密钥中创建密钥本身道路。我不确定这是否足够,因为该密钥很可能用于服务之外的其他关键功能。

或者,您可以戳ActiveStorage::Blob来摆弄key。也就是说,ActiveStorage不支持您开箱即用的功能,您将不得不冒其内部混乱的风险。

解决该问题(但不能回答您的问题)的一种解决方案可能是实施问题注释中概述的API。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...