Как установить content-disposition в inline для статических файлов в java Google App Engine


Я знаю, как установить заголовок content-disposition для динамических запросов, но как установить его для статических файлов.

Проблема заключается в том, что рабочая версия java GAE автоматически устанавливает значение attachment content-disposition для статических запросов файлов (кстати, по умолчанию локальная разработка content-disposition является встроенной), но мне нужно установить его в inline.

Теперь, когда кто-то пытается открыть статический pdf файл браузер автоматически начинает загрузку вместо того, чтобы попытаться открыть его в новом вкладка.

2 3

2 ответа:

Помимо типа mime и срока действия, у вас нет особого контроля над тем, как обрабатываются статические файлы (см. приложение Google .документация ямл ). Если вам нужен мелкозернистый контроль, вы можете сохранить PDF-файл в хранилище данных в виде большого двоичного Объекта и написать для него обработчик.

(Не путать с BLOBSTORE API )

Все мои pdf-файлы находятся в папке / pdf / path. Я создал веб-запрос для /pdfi / uri, который с помощью сервиса url fetch извлекает запрошенный файл в /pdf / path и устанавливает content-disposition в inline.

Теперь где угодно (статический html и т. д.) была ссылка на любой pdf файл, Я заменил /pdf/ на /pdfi/ и все работает. Когда и если команда GAE позволит нам установить контент-диспозицию для статических файлов, я просто изменю каждую ссылку с /pdfi/ на / pdf /