6

Mam połączenie z kontrolerem dokumentów, akcja pobierania, aby obsłużyć klienta z pobranym obiektem pobranym z s3. Jednak wydaje się, że OpenURI ma problemy z analizowaniem zapisanego pliku url. Ten URL jest możliwy do odwiedzenia w przeglądarce bez żadnego problemu, ale przy próbie otwarcia go w kontrolerze pojawia się błąd 403 Forbidden.OpenURI :: HTTPError 403 Forbidden - otwarty adres URL spinacza dla zasobu przechowywanego na S3 (klejnot mgły)

documents_controller 

    def download 
    data = open(Document.find(params[:id]).upload.url) 
    send_data data.read, :type => data.content_type, :x_sendfile => true 
    end 

przykładem url byłoby

"https://s3.amazonaws.com/mybucket/documents/1/Screen_Shot.png?1372238888" 

Error - OpenURI :: httpError 403 Forbidden fotografowania się na pierwszej linii działania, gdy adres URL jest otwarty. Każdy pomysł, co to może być?

Odpowiedz

4

Błąd 403 może wystąpić, gdy adres URL nie ma formatu ciągu. Przy użyciu interpolacji ciągów w podobnym przykładzie dla załączników mailingowych pracowały dla mnie:

doc = order.document 
attachments["Order.pdf"] = File.read(open("#{doc}")) 
Powiązane problemy