диалоговое окно принудительного сохранения для ссылки на видео - PullRequest
1 голос
/ 02 июля 2011

Я хочу создать ссылку на скачивание видео. Как заставить диалоговое окно «Сохранить как» открыть при нажатии на ссылку.

<a href="#" onclick="downloadVideo()">Download Video</a>

1 Ответ

1 голос
/ 02 июля 2011

Как и предполагал Пекка, вы принудительно загружаете файл по обычной HTML-ссылке, отправляя дополнительный заголовок HTTP. Это означает, что вам может потребоваться изменить конфигурацию вашего веб-сервера, чтобы он заработал.

Как правило, нажатие на ссылку не возвращает заголовок Content-Disposition; настройка, как вы получите диалоговое окно «Сохранить файл ...» для отображения. Заголовки ответа будут выглядеть примерно так:

HTTP/1.1 200 OK
Date: Sun, 21 Aug 2011 11:45:59 GMT
Server: Apache/2.2.14 (Ubuntu)
Content-Disposition: attachment; filename=video.m4v;

Не зная внутренней работы вашего приложения или сайта, я бы предположительно предположил (для удобства пользователей с отключенным JavaScript) вы не используете JS для этого, если это возможно.

Лучше всего внести изменения в конфигурацию вашего веб-сервера. С Apache вы бы сделали что-то вроде:

<FilesMatch "\.m4v$">
  <IfModule mod_headers.c>
    Header set Content-Disposition "attachment"
  </IfModule>
</FilesMatch>

..., который заставит все M4V-файлы отображать диалоговое окно "Сохранить файл ...". Или, если ваше приложение написано на PHP , вы можете сделать:

header('Content-Disposition: attachment; filename="video.m4v"');

На этой странице есть немного JavaScript (возможно, JScript ?), Который вы можете использовать, который работает в Internet Explorer, но не в любом другом браузере:

<a href="javascript:void(0);" onclick="document.execCommand('SaveAs',true,'video.m4v');">Download video</a> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...