4

私はRubyonRailsWebアプリに取り組んでいます。ユーザーはファイルをアップロードでき、それらはAmazonsS3に保存されます。ファイルのアップロードには、ペーパークリップの宝石を使用します。

保存する前にAES256でファイルを暗号化するにはどうすればよいですか?S3にはサーバー側の暗号化があることは知っていますが、モバイルアプリでサイトを開いていて、クライアントで復号化を処理したいので、それは実際には機能しません。

ペーパークリッププロセッサまたはbefore_post_processメソッドを使用できることは知っていますが、アップロードされているファイルを取得して変更するにはどうすればよいですか?

4

1 に答える 1

2

S3への非同期アップロードに関するこのペーパークリップのレシピをご覧ください。これを使用して、コールバックコードを次のように変更できます。

def upload_to_s3
  self.remote_avatar = encrypt(local_avatar.to_file)
  self.local_avatar = nil
  self.save!
end

ここで、メソッドencryptはAES256関数です。

ペーパークリップを使用していない場合は、 CarrierWave用のこのアドオンgemを調べる価値があるかもしれません。これにより、時間を節約できる可能性があります。

于 2014-02-19T16:59:02.683 に答える