2017-08-23 110 views
0

この質問は何度か尋ねられましたが、解決策のどれも私のために働いていません。 open-uriでRubyバージョン2.2.1を使用していて、メール添付ファイルのリモートURLを追加しようとしています。RUby - リモートURLアタッチメントのためのamazon S3 - OpenURI :: HTTPError:403 Forbidden

私は何を持っている:私も

1. File.read(open("#{@file_path}") 
2. open(Net::HTTP.get(URI.parse("#{@file_path}")) 
3. Added User-Agent 

を使用していた

@filename = "#{@doc.id}-#{@company.subdomain}-#{@doc.doc_number}-#{@doc.created_at.strftime("%Y-%m-%d")}.pdf" 
@file_path = "https://mybucket.s3.amazonaws.com/docs/doc_#{@doc.id}/#{@doc.filename}" 

attachments[@filename] = open(URI.parse("#{@file_path}")).read 

私は、URI.parseを削除し、インスタンス変数とし、文字列の補間なしで試してみました。何も動作しません。私がブラウザ上のファイルパスを訪問すると、私のメーラでそれを呼び出すと動作しますが、動作しません。

ご協力いただければ幸いです。

EDIT: ファイルの添付ファイルとして作業URL(文字列補間なし)をハードコードするだけで正常に動作します。

答えて

0

まあ、それは簡単な修正でしたが、少し関係がありませんでした。 私はテストするために私が使用したURLとは少し異なるファイル名にした私のコードのどこかでタイプミスがありました。

私はFILE_PATHのための代わりに次を使用し、それが即座に働いていたとき、私はそれを実現:

file_path = @doc.filename.url 

attachments[@file_name] = open(URI.parse("#{file_path}")).read 
関連する問題