写在前面
这里主要总结.mp3,.json等浏览器默认打开而非下载的这类文件下载方式。其他像.zip.,.rar等文件浏览器默认处理方式就是下载。
1.download属性
HTML5中给a标签增加了一个download属性,只要有这个属性,点击这个链接时浏览器就不在打开链接指向的文件,而是改为下载(目前只有chrome、firefox和opera支持)。
示例:<a href="http://XXX" download></a>
2.服务器返回数据流
走服务端返回二进制流给浏览器下载,这种方式可以通过指定content-type来强制让浏览器选择下载而非打开的方式。
content-type值定义参考:http://www.zuidaima.com/question/2232374618098688.htm。
前端用一个隐藏的form
3.其他网上方法
其他直接使用iframe、form等方式亲测不靠谱,会报类似如下提示,且还是下载不了。
Resource interpreted as Document but transferred with MIME type audio/mpeg: