0
私はs3でリモートに保存されたpdfファイルを解析しようとしています。私は私のローカルドライブ上のファイルを解析するときこれは私が持っているコードですRails open_uriとamazon s3 `open_http ':403禁止(OpenURI :: HTTPError)
@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 = 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
しかし
を使用してS3上のファイルのURLを取得するために何の問題がありません
io = open(object.public_url)
を次のようにこのURLを開くために私はまた、文字列の補間を
io = open("#{object.public_url}")
を試してみました
「open_http」というエラーが表示されます:403禁止(OpenURI :: HTTPError)
どうすれば回避できますか? s3に格納されているファイルのURLを開く正しい方法は何ですか?ありがとう。
感謝をしてみてください。これはエラーを引き起こすわけではありませんが、pdf-reader gem(reader = PDF :: Reader.new(io))を使って次のステップの仕事をしません。これは 'extract_io_from 'というエラーを出します:inputはIOのようなものでなければなりませんオブジェクトまたはファイル名(ArgumentError) – Bastien
'open(Net :: HTTP.get(URI.parse(object.public_url)))' ' –