6

Ho una chiamata al mio controller documenti l'azione download, per servire il cliente con un oggetto scaricabile recuperato da S3. Tuttavia OpenURI sembra avere problemi di analisi del graffetta URL è memorizzato. Questo URL è visitabile nel browser senza alcun problema, ma quando ha tentato di aprirlo nel controller ottengo un errore 403 Forbidden.OpenURI :: HTTPError 403 Forbidden - Apri URL graffetta per la risorsa memorizzati su S3 (gemma nebbia)

documents_controller 

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

un esempio url sarebbe

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

Errore - OpenURI :: HTTPError 403 Forbidden tiro alto sulla prima linea dell'azione, quando l'URL viene aperto. Qualsiasi idea di cosa potrebbe essere?

errore

risposta

4

A 403 può verificarsi quando l'URL non è in formato stringa. Utilizzando stringa di interpolazione in un esempio simile per le mailing allegati funzionato per me:

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