web-dev-qa-db-ja.com

アクティブなストレージストアファイル(ディスク上)、およびどのように物理的に取得できるのは、どこにありますか。

Rails 5.2でアクティブなストレージを使用しています。私はEasgerails Guideの後に、ローカルディスクを使用するようにアクティブなストレージを設定しています。

Railsアプリを使用しているときは、ファイルのアップロードが大きく機能します。

ただし、問題は、メディエータとしてRailsを使用せずに、それらのアップロードされたファイルを物理的にアクセスする必要があることです。

ファイルが保存されている場所のクエリはこれを返します。

_url_for(@employee_staff.avatar)
=> "/Rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBGUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e76664d247cb5437fe1cd11f7ee0ded24f95aee2/profilepic3.jpeg"
_

このファイルのパスが私のローカルディスクに保存されている場所を見つけようとしています。これまでのところ、私は運がなかった。

アクティブストレージがどのように機能し、アップロードされたファイルを見ることができるかについての説明は大きく感謝します。

8
Minhal Shanjer

バリエーションがある場合

variant = @employee_staff
            .avatar
            .attachment
            .variant(resize: '100x100')
            .processed # If variant is not processed

variant.service.send(:path_for, variant.key) # Absolute path to variant file
 _
0
hazg
ActiveStorage::Blob.service.path_for(@employee_staff.avatar.key)
 _

このように 答え

0
SMAG