Howto open PDF files in same browser window?

Unfortunately, no. :roll_eyes:

1 « J'aime »

Bonjour, je rencontre le même problème.
Le fichier PDF ne s’affiche pas et est toujours téléchargé, quelles que soient les configurations de mon navigateur (Chrome, Firefox).
D’après ce que je lis, cela est lié au content_type du fichier.
J’ai trouvé ceci :

Excellente question ! Ce qui définit cette action, c’est l’en-tête « Content-type » envoyé par le serveur au client. Vous pouvez définir la valeur de cet en-tête en utilisant des outils compatibles S3. Une bonne explication est disponible ici :

Mais je n’ai pas réussi à progresser.
Il semble que le problème concerne l’indication du Content-Type ou du content-disposition, mais je ne sais pas si je dois le faire lors du téléchargement.
Peut-être qu’un expert pourra nous aider.

J’ai trouvé ces informations plus claires que les précédentes.
Mon problème, c’est que je ne sais pas comment les utiliser pour résoudre la situation. :sob:

Si vous voulez que le navigateur traite le fichier comme un PDF, vous devez lui indiquer qu’il s’agit d’un fichier PDF. La façon de le faire est d’envoyer l’en-tête approprié :
Content-type: application/pdf

L’en-tête actuellement envoyé par S3 est :
Content-type: application/octet-stream

Puisque vous téléversez les fichiers sur S3, vous pouvez soit définir le bon type MIME pour le fichier lors du téléversement, soit le faire après coup en utilisant certains outils S3 (comme s3cmd pour Windows, par exemple).

Selon le lien vers la documentation que vous avez fourni, la fonction putObjectFile est obsolète, mais voici sa définition :
putObjectFile (string $file, string $bucket, string $uri, [constant $acl = S3::ACL_PRIVATE], [array $metaHeaders = array()], [string $contentType = null])

Comme vous pouvez le voir, le dernier paramètre est contentType. Vous pouvez donc le définir à application/pdf lors du téléversement du fichier.
Cela définira l’en-tête correct lors du téléchargement.