寫在前面
這里主要總結(jié).mp3,.json等瀏覽器默認打開而非下載的這類文件下載方式。其他像.zip.,.rar等文件瀏覽器默認處理方式就是下載。
1.download屬性
HTML5中給a標簽增加了一個download屬性,只要有這個屬性,點擊這個鏈接時瀏覽器就不在打開鏈接指向的文件,而是改為下載(目前只有chrome、firefox和opera支持)。
示例:<a href="http://XXX" download></a>
2.服務(wù)器返回數(shù)據(jù)流
走服務(wù)端返回二進制流給瀏覽器下載,這種方式可以通過指定content-type來強制讓瀏覽器選擇下載而非打開的方式。
content-type值定義參考:http://www.zuidaima.com/question/2232374618098688.htm。

前端用一個隱藏的form

3.其他網(wǎng)上方法
其他直接使用iframe、form等方式親測不靠譜,會報類似如下提示,且還是下載不了。
Resource interpreted as Document but transferred with MIME type audio/mpeg: