aws-sdk ruby​​ - 使用客户端加密将文件上传到s3

时间:2017-10-03 18:14:23

标签: ruby aws-sdk ruby-on-rails-4.2

我尝试在发送到S3(客户端加密)之前加密我的文件。但是文件没有正确上传。它会打开并显示错误。请指导可能存在的问题。 我正在使用aws-sdk版本3。

这是我的代码:

s3 = Aws::S3::Encryption::Client.new(encryption_key: Rails.application.secrets.s3_client_key)

bucket_name = "my-bucket"

key = "my_records/record_1.jpg"
File.open('file_path', 'rb') do |file|
   s3.put_object(
     bucket:bucket_name, 
     key:key, 
     body:file
)
end

1 个答案:

答案 0 :(得分:0)

看起来您正试图通过浏览器查看加密文件。

http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html

使用客户端加密,您需要在检索对象后解密。浏览器无法为您解密。

如果希望在S3中静止加密对象,可以使用服务器端S3。

如果您使用SSL浏览器,它将在传输过程中加密,从那里它将被解密,浏览器将显示图像。

希望它有所帮助。