2012-11-15 34 views
4

我正在研究Ruby on Rails web應用程序。用戶可以上傳文件,並將其存儲到亞馬遜S3。對於文件上傳,我使用回形針寶石。如何在將回形針附件上傳到S3之前加密?

我如何可以加密與AES256文件得到保存,才?我知道S3有服務器端加密,但這對我並不真正有效,因爲我在移動應用程序中打開該網站,並希望處理客戶端上的解密。

我知道我可以使用回形針處理器或before_post_process方法,但我怎樣才能得到正被上傳的文件和改變呢?

回答

1

看這個paperclip recipe on asynchronous上傳到S3。你可以使用,然後回調代碼更改爲:

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

凡方法encrypt是AES256功能。

如果您未在回形針上設置,則可能需要查看this附加寶石CarrierWave,它可能會爲您節省一些時間。

相關問題