2013-05-13 9 views
7

Kiedy próbuję kliknąć link pdf na mojej stronie w Chrome i FF, nic to nie robi. Mogę kliknąć prawym przyciskiem myszy i zapisać jako, ale nie mogę otworzyć go w przeglądarce. Obie przeglądarki mają włączony czytnik Adobe Reader i działają po usunięciu klucza i podpisu AWS.Otwieranie plików .pdf w przeglądarce z Amazon S3 z atrybutami klucza i sygnatury AWS?

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

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

Działa dobrze zarówno w IE, jak i Operze. Jakikolwiek sposób ominąć to?

+0

Chcesz go otworzyć, aby wtyczka Adobe Reader mogła się otworzyć i otworzyć plik w przeglądarce, lub chcesz go pobrać? –

Odpowiedz

1

Przyczyna problemu jest bardzo oczywista, ale może być trudna do rozwiązania. Po otwarciu łącza nonKey zostanie otwarte łącze .pdf na końcu linku i spróbowane zostanie pobrane. Przeglądarka pobiera rozszerzenie .pdf na końcu łącza. Ale gdy masz dodatkowe zapytania, twój link nie kończy się na .pdf i może to spowodować problem.

Wygląda na to, że przesłany plik PDF nie zawiera metadanych dla typu zawartości. Jeśli nie masz dowiedzieć się, typy zawartości automatycznie wyboru sprawdzonych podczas wysyłania, spróbuj ręcznie ustawić typ zawartości dodając Metadane

content-type: application/pdf 

Inny pomysł jest, aby przeglądarka myśleć, że związek jest skończywszy .pdf , więc spróbuj pobrać z tego linku:

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

Następnie otrzymuję "Obliczony przez nas podpis żądania nie jest zgodny z podanym przez Ciebie podpisem. Sprawdź klucz i metodę podpisywania." błąd – vamsi