Howto open PDF files in same browser window?

Unfortunately, no. :roll_eyes:

1 лайк

Привет, у меня та же проблема.
PDF-файл не отображается, а всегда скачивается, независимо от настроек в моём браузере (Chrome, Firefox).
Из того, что я прочитал, это связано с заголовком content_type для файла.
Я нашёл следующее:

Отличный вопрос! То, как будет обработан файл, определяется заголовком «Content-type», отправляемым сервером клиенту. Вы можете задать значение этого заголовка с помощью инструментов, совместимых с S3. Хорошее объяснение этого можно найти здесь:

Но мне не удалось продвинуться дальше.
Похоже, проблема в указании Content-Type или content-disposition, но я не знаю, нужно ли это делать при загрузке.
Возможно, какой-нибудь эксперт сможет нам помочь.

Я нашел эту информацию более понятной, чем предыдущую.
Моя проблема в том, что я не знаю, как применить её для решения ситуации. :sob:

Если вы хотите, чтобы браузер воспринимал файл как PDF, вы должны сообщить ему, что это PDF-файл. Для этого необходимо отправить соответствующий заголовок:
Content-type: application/pdf

Текущий заголовок, отправляемый S3, выглядит так:
Contant-type: application/octet-stream

Поскольку вы загружаете файлы в S3, вы можете либо указать правильный MIME-тип файла при загрузке, либо сделать это позже с помощью некоторых инструментов S3 (например, s3cmd для Windows).

Согласно ссылке на документацию, которую вы предоставили, функция putObjectFile устарела, но вот её определение:
putObjectFile (string $file, string $bucket, string $uri, [constant $acl = S3::ACL_PRIVATE], [array $metaHeaders = array()], [string $contentType = null])

Как видите, последний параметр — contentType, поэтому вы можете установить его в значение application/pdf при загрузке файла.
Это обеспечит установку правильного заголовка при скачивании.