Сделать HTML / Javascript ссылку на PDF только для скачивания - PullRequest
3 голосов
/ 06 июля 2011

Как связать файл PDF на моем веб-сайте, который можно загрузить только, и не отображать этот PDF-файл в браузере?

Ответы [ 2 ]

4 голосов
/ 06 июля 2011

Вы можете установить заголовки, отправленные с ответом, чтобы предложить браузеру сохранить файл:

 Content-disposition: attachment; filename=whatever.pdf

Как вы достигнете этого на практическом уровне, зависит от вашего веб-сервера и / или среды программирования. Тем не менее, попытка сделать это с помощью JavaScript, вероятно, не путь вперед.

Другие варианты включают в себя обман браузера, заставляя думать, что файл на самом деле не является PDF, установив content-type в application/octet-stream или подобное. Обычно это делается независимо от того, является ли это хорошей идеей, является дискуссионной.

4 голосов
/ 06 июля 2011

Поведение того, что делать с содержимым ответа HTTP, в конечном итоге определяется браузером, а не сервером. Тем не менее, вы можете «предложить» браузеру, что содержимое ответа подразумевается как «файл», и предложить имя, под которым сохранить этот файл, используя заголовок размещения содержимого .

Обратите внимание, что протокол HTTP на самом деле не передает "файлы" в том смысле, в котором большинство людей делают вывод. Он передает контент со связанными заголовками. Поэтому все, что вы делаете, делается с помощью тех заголовков, которые сопровождают контент.

Редактировать: Я только что заметил ваши теги ... Вы говорите об отправке файла на скачивание или о связи с файлом, поданным в другом месте? Если последнее, то я уверен, что это вне вашего контроля. Ваш JavaScript может контролировать содержимое заголовка запроса, но заголовок ответа целиком зависит от сервера.

...