Есть ли способ заставить вложение быть просмотренным в браузере или загруженным? - PullRequest
0 голосов
/ 06 февраля 2019

В нашем кросс-браузерном веб-приложении клиент может загружать файлы различных типов (.pdf, .eml, .jpg и т. Д.).

Клиент запросил стандартный способ просмотра этих вложений, либо открыв его в браузере, либо загрузив вложение.

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

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

В этих случаях я использую атрибут загрузки для тега.

<a href='./download-file.pdf' download='Name of File for user'>Click me to download</a> 
0 голосов
/ 06 февраля 2019

Согласно https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition#Browser_compatibility заголовок ответа о расположении контента совместим со всеми браузерами.Итак, если вам нужно принудительно загрузить, используйте Content-Disposition: attachment (и файл всегда будет загружен).Рекомендуется также указать имя файла и, возможно, тип содержимого:

Content-Disposition: attachment; filename="filename.jpg"
Content-Type: image/jpg

Если вы пропустите заголовок или просто используете content-disposition: inline, то браузер попытается открыть файл inline.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...