2013-05-13 5 views
7

Quando provo a fare clic su un collegamento PDF sul mio sito Web in Chrome e FF, non fa nulla. Posso fare clic con il tasto destro del mouse e salvare come ma non posso aprirlo nel browser. Entrambi i browser hanno abilitato Adobe Reader e funzionano quando rimuovo la chiave e la firma di AWS.Aprire i file .pdf nel browser da Amazon S3 con gli attributi di chiave e firma AWS?

https://s3.amazonaws.com/bucket/sample.pdf?AWSAccessKeyId=&Expires=&Signature= // Does not open 

https://s3.amazonaws.com/bucket/mypdf.pdf // Opens fine 

Funziona bene sia in IE che Opera. Un modo per aggirare questo?

+0

Si desidera aprirlo in modo che il plug-in Adobe Reader si avvii e apra il file all'interno del browser o si desideri scaricarlo? –

risposta

1

La ragione del tuo problema è molto ovvia, ma potrebbe essere difficile da risolvere. Quando apri il collegamento nonKey

https://s3.amazonaws.com/bucket/mypdf.pdf 

il browser ottiene l'estensione .pdf alla fine del collegamento e prova a scaricarlo. Ma quando hai parametri di richiesta aggiuntivi il tuo link non finisce con .pdf e questo potrebbe causare il problema.

Sembra che il file PDF caricato non abbia ricevuto metadati per tipo di contenuto. Se non si dispone di Capire i tipi di contenuto automaticamente casella controllato durante il caricamento, cercare di impostare tipo di contenuto manualmente con l'aggiunta di metadati

content-type: application/pdf 

Altra idea è di rendere il browser pensare che il collegamento si chiude con .pdf , quindi prova a scaricare con questo link:

https://s3.amazonaws.com/bucket/sample.pdf?AWSAccessKeyId=a&Expires=b&Signature=c&file=sample.pdf 
+0

Quindi sto ricevendo "La firma della richiesta che abbiamo calcolato non corrisponde alla firma fornita. Controlla la chiave e il metodo di firma." errore – vamsi