繁体   English   中英

强制保存视频链接的对话框

[英]force save dialog for a video link

我想为视频创建一个下载链接。 单击链接时如何强制打开另存为对话框。

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

正如 Pekka 暗示的那样,您通过发送额外的 HTTP header 来强制从正常的 HTML 链接下载文件。 这意味着您可能需要更改 web 服务器的配置才能使其正常工作。

通常,单击链接不会返回Content-Disposition header; 这就是您如何获得“保存文件...”对话框的设置。 响应标头看起来有点像:

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"');

这个页面有一点JavaScript (可能是JScript ?)你可以在 Internet Explorer 中使用,但不能在任何其他浏览器中使用:

<a href="javascript:void(0);" onclick="document.execCommand('SaveAs',true,'video.m4v');">Download video</a> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM