[英]RUby - amazon S3 for remote url attachments - OpenURI::HTTPError: 403 Forbidden
我知道這個問題已經問過幾次了,但是沒有一個解決方案對我有用。 我將Ruby版本2.2.1與open-uri一起使用,並嘗試為我的電子郵件附件添加遠程URL。
我所擁有的是:
@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
我也用過
1. File.read(open("#{@file_path}")
2. open(Net::HTTP.get(URI.parse("#{@file_path}"))
3. Added User-Agent
我刪除了URI.parse,嘗試使用實例變量並且沒有字符串插值。 什么都沒有。 如果我在瀏覽器中訪問了文件路徑,則它可以工作,但是當我在郵件程序中調用它時卻無法工作。
任何幫助將非常感激。
編輯:如果我只是硬編碼一個工作的URL(沒有字符串插值)作為文件附件,它工作正常。
好吧,那是一個簡單的解決方法,但一點也不相關。 我在代碼的其他地方出現了錯字,這使得文件名與我以前測試的網址有些不同。
當我對file_path使用以下代碼時,我意識到了這一點,並且可以立即使用:
file_path = @doc.filename.url
attachments[@file_name] = open(URI.parse("#{file_path}")).read
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.