【发布时间】:2017-01-29 21:29:08
【问题描述】:
我正在尝试解析远程存储在 s3 上的 pdf 文件。这是我在本地驱动器上解析文件时的代码
@doc = current_user.docs.order("created_at").last #last file uploaded by user
io = open("#{Rails.root}/public" + @doc.doc.url)
reader = PDF::Reader.new(io)
使用此代码在 s3 上获取文件的 url 没有问题
s3 = Aws::S3::Resource.new(
access_key_id: 'XXX',
secret_access_key: 'XXX',
region: 'eu-west-1')
bucket = s3.bucket('my_bucket')
object = bucket.object('mydoc.pdf')
puts object.public_url
但是,当我尝试按如下方式打开此网址时
io = open(object.public_url)
我也尝试过字符串插值
io = open("#{object.public_url}")
我收到错误 `open_http': 403 Forbidden (OpenURI::HTTPError)
我怎样才能解决这个问题?打开存储在 s3 上的文件的 URL 的正确方法是什么?谢谢。
【问题讨论】:
标签: ruby-on-rails amazon-web-services amazon-s3 open-uri