クリップの添付ファイルの各スタイルのファイル サイズを取得するにはどうすればよいですか?
@user.attachment_file_size
動作しないようです
@user.attachment(:style).size
実際のファイルサイズに関係のない数値を与える
クリップの添付ファイルの各スタイルのファイル サイズを取得するにはどうすればよいですか?
@user.attachment_file_size
動作しないようです
@user.attachment(:style).size
実際のファイルサイズに関係のない数値を与える
元のスタイル以外の特定のスタイルのファイルサイズを取得する方法も見つかりませんでした。
ペーパークリップのソース コードに見られるように、@user.attachment.size
最初に割り当てられたファイルのサイズを返します。特定のスタイルのためにそれを取得する方法はありません...
解決策は次のとおりです。
open(@user.attachment(:style)).size
しかし、まったく効率的ではありません。
それをうまく行うには、添付ファイルがスタイルごとに保存されたら、添付テーブルにいくつかの「カスタム サイズ」フィールドを追加する必要があります...
ユーザーは ID で検索 (例) ユーザーは :photo を持っています
@user.last.photo_file_size
Paperclip::Style#geometryを使用して、与えられたオブジェクトのスタイルに対して、スタイル ハッシュ内で "WIDTHxHEIGHT" のような文字列を取得できます。
string = @user.attachment.styles[:size].geometry
文字列を分割して、高さまたは幅のいずれかにすることができます。
width = string.split("x")[0]
height = string.split("x")[1]