HTML5 download属性无法下载文件:如何让Chrome强制下载MKV文件?
解决Chrome中FTP链接MKV文件直接打开而非下载的问题
这确实是Chrome的一个常见行为——它会直接渲染能识别的媒体格式(比如MKV),而且download属性对FTP协议的链接并不生效,因为该属性主要适配同源HTTP(S)资源或Blob/Data URI。下面给你几个可行的解决方案:
方法一:改用HTTP(S)服务并配置响应头(最可靠)
如果可以将文件迁移到HTTP(S)服务器(比如Nginx、Apache),通过设置响应头强制浏览器触发下载:
- 对于Nginx,在配置文件中添加:
location /myfamilly.mkv { add_header Content-Disposition 'attachment; filename="myfamilly.mkv"'; } - 对于Apache,在.htaccess文件中添加:
<Files "myfamilly.mkv"> Header set Content-Disposition "attachment; filename=myfamilly.mkv" </Files>
之后用HTTP链接替换FTP链接:
<a href="https://myserverip/myfamilly.mkv" download>MyFamilly</a>
这样Chrome会直接触发下载,不会打开文件。
方法二:修改FTP服务器的MIME类型配置
如果必须保留FTP服务,可以修改FTP服务器的MIME类型映射,将MKV文件标记为浏览器无法直接识别的二进制类型:
- 比如使用vsftpd,找到服务器上的
mime.types文件(通常在/etc/目录下),添加或修改条目:application/octet-stream mkv - 重启FTP服务器后,Chrome会将MKV识别为未知二进制文件,从而触发下载提示,而不是直接打开。
临时替代方案(无需服务器修改)
如果暂时无法调整服务器配置,可以让用户右键点击「MyFamilly」链接,选择「另存为」来手动触发下载,但这不是自动解决方案,只能作为临时应急方法。
内容的提问来源于stack exchange,提问作者Igor Petev
相关产品推荐
相关产品推荐

