gpt4 book ai didi

ruby-on-rails - Rails open_uri 和 amazon s3 `open_http' : 403 Forbidden (OpenURI::HTTPError)

转载 作者:行者123 更新时间:2023-12-05 05:21:51 24 4
gpt4 key购买 nike

我正在尝试解析远程存储在 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

但是,当我尝试按如下方式打开此 url 时

io = open(object.public_url)

我也试过字符串插值

io = open("#{object.public_url}")

我收到错误 `open_http': 403 Forbidden (OpenURI::HTTPError)

我该如何解决这个问题?打开存储在 s3 上的文件的 URL 的正确方法是什么?谢谢。

最佳答案

尝试

io = Net::HTTP.get(URI.parse(object.public_url))

关于ruby-on-rails - Rails open_uri 和 amazon s3 `open_http' : 403 Forbidden (OpenURI::HTTPError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41926167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com