【问题标题】:aws-sdk ruby - upload file to s3 with client side encryptionaws-sdk ruby​​ - 使用客户端加密将文件上传到 s3
【发布时间】:2017-10-05 09:45:46
【问题描述】:

我正在尝试在发送到 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

【问题讨论】:

  • 请分享错误
  • 它说“图像无法显示,因为它包含错误。”

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


【解决方案1】:

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

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

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

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

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

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-27
    • 2019-01-15
    • 1970-01-01
    • 2021-07-14
    • 2017-01-10
    • 2021-06-30
    • 2012-08-18
    • 2017-07-23
    相关资源
    最近更新 更多