6

Ich habe einen Anruf auf meine Dokumente Controller der Download-Aktion, den Client mit einem herunterladbaren Objekt aus s3 abgerufen zu dienen. Allerdings scheint openURI Probleme zu haben die URL Büroklammer Parsen hat gespeichert. Diese URL ist besuchbar im Browser ohne Problem, aber wenn versucht es in der Steuerung zu öffnen, bekomme ich einen 403 Forbidden Fehler.openURI :: httperror 403 Forbidden - offen Büroklammer url für das Asset auf S3 (Nebel gem) gespeichert

documents_controller 

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

ein Beispiel wäre url

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

Fehler - openURI :: httperror 403 Forbidden in der ersten Zeile der Aktion schießen, wenn die URL geöffnet wird. eine Ahnung, was es sein könnte?

Antwort

4

A 403 Fehler können auftreten, wenn die URL nicht im String-Format ist. Mit String-Interpolation in einem ähnlichen Beispiel für Mailing-Attachments für mich gearbeitet:

doc = order.document 
attachments["Order.pdf"] = File.read(open("#{doc}")) 
Verwandte Themen