我想在我的网页上托管一个包含 mp3 文件的外部 url。问题是单击该链接将打开播放器,我必须右键单击并“将链接另存为”才能下载文件。有什么解决方案可以强制下载文件吗?
我不想下载文件然后使用标头强制下载。
原文由 keepwalking 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.5k 阅读✓ 已解决
2 回答882 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答896 阅读✓ 已解决
2 回答782 阅读
1 回答771 阅读✓ 已解决
2 回答1.1k 阅读
现在 HTML5 规范 在超链接上定义了一个非常有用的
download
属性,基本上允许在客户端强制下载行为,无论进来的是什么Content-Type
和Content-Disposition
从服务器:<…>
所以你需要做的就是将属性添加到你的超链接,支持它的浏览器就会明白需要下载内容:
您甚至可以通过设置属性值为下载的文件建议不同的名称:
更多信息和演示:
浏览器支持: caniuse.com
下载生成的内容
您甚至可以创建一个链接来下载您生成的内容,只要有办法为其获取 base64 编码的数据 URI:
有关保存生成的内容的更多详细信息,请参阅 Eli Grey 的这篇文章:
在客户端保存生成的文件