Как поручить Chrome загружать PDF, а не (предварительно) просматривать в браузере?

9

У меня есть файл PDF для скачивания пользователями на моем сайте.

Есть ли способ указать Chrome не просматривать PDF в браузере пользователей, когда пользователь щелкает ссылку на PDF, а вместо этого загружать PDF в папку загрузки пользователей? Или, по крайней мере, поручить Chrome спросить пользователя, хочет ли он просмотреть PDF-файл в браузере или загрузить его (а не просто автоматически просматривать в браузере)?

Спасибо :)

rassom
источник
Спасибо :) Попробовал ответ с самым высоким рейтингом здесь, но он не работает :( wordpress.stackexchange.com/questions/5419/…
rassom
1
Я думаю, что это не будет работать для Chrome, потому что Chrome определяет документ в формате PDF до загрузки htaccess и взаимодействует с браузером. поэтому chrome загрузит его как PDF и не будет обращаться к нему как к действию загрузки.
Возможно, можно добавить какой-нибудь javascript, который находит ссылку через определенный CSS ID, а затем добавляет к нему атрибут загрузки ref w3schools.com/TAgs/att_a_download.asp . Если кто-то здесь знает достаточно javascript, чтобы сделать это, помощь будет
принята
1
@rassom, какой веб-сервер вы используете? Content-DispositionЗаголовок упоминается в ссылке в первом комментарии является правильным способом сделать это.
тяжело
1
Content-Disposition в .htaccess не работает, уже пробовал.
Рас

Ответы:

11

Вы можете использовать downloadсвойство в вашей ссылке (якорь) следующим образом:

<a href="some/path/somefile.pdf" download target="_blank">download PDF file</a>

Это приведет к загрузке в браузерах, которые его поддерживают (Chrome, Firefox и Opera). Однако в настоящее время он не поддерживается в IE или Safari по этой ссылке

Источник: /programming/3802510/force-to-open-save-as-popup-open-at-text-link-click-for-pdf-in-html

Kristian
источник
1
Документация для атрибута, потому что он имеет некоторые интересные функции. Жаль, что IE упрямый. w3schools.com/tags/att_a_download.asp
К сожалению, Chrome ограничивает атрибут для того же домена и того же порта :-( однако они позволяют вам скачивать файл через «Сохранить как»
user1156544
2

Я не уверен, возможно ли это через пользовательский код на веб-сайте. Насколько я знаю, это полностью зависит от настроек пользователя в их браузере Chrome.

В основном, когда вы набираете: chrome: // plugins / , в нем будут перечислены плагины chrome, и если пользователь отключит плагин под названием: Chrome PDF Viewer , то только chrome попросит загрузить PDF, иначе PDF откроется там автоматически.


источник
Спасибо, но не отвечаю на вопрос о том, как я, как веб-мастер, могу убедиться, что это поведение для пользователей, которые не установили этот параметр предпочтений Chrome. Но приятно с вашей стороны ответить :-)
Рассом
1

Это можно сделать, просто щелкнув файл PDF, щелкните его правой кнопкой мыши и выберите «сохранить ссылку как», а затем Chrome начнет загрузку файла PDF и обязательно проверит формат файла перед сохранением адреса ссылки, как правило, это будет .pdf, но если нет, то вручную напишите .pdf после него.

Чираг
источник
Спасибо, но не отвечаю на вопрос о том, как я, как веб-мастер, могу убедиться, что это поведение для пользователей, которые не установили этот параметр предпочтений Chrome. Но приятно с вашей стороны ответить :-)
Рассом