我想为视频创建下载链接。单击链接时,如何强制打开另存为对话框。
<a href="#" onclick="downloadVideo()">Download Video</a>
答案 0 :(得分:1)
正如Pekka暗示的那样,您通过发送额外的HTTP标头强制从普通HTML链接下载文件。这意味着您可能需要更改Web服务器的配置才能使其正常工作。
通常,点击链接不会返回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。
您最好的办法是更改Web服务器的配置。使用 Apache ,您可以执行以下操作:
<FilesMatch "\.m4v$">
<IfModule mod_headers.c>
Header set Content-Disposition "attachment"
</IfModule>
</FilesMatch>
...这将使所有M4V文件显示“保存文件...”对话框。或者,如果您的应用程序是用 PHP 编写的,则可以执行以下操作:
header('Content-Disposition: attachment; filename="video.m4v"');
This page有一些 JavaScript (可能是 JScript ?),您可以使用它在Internet Explorer中工作,但不能在任何其他浏览器中使用:
<a href="javascript:void(0);" onclick="document.execCommand('SaveAs',true,'video.m4v');">Download video</a>