寫(xiě)在前面
這里主要總結(jié).mp3,.json等瀏覽器默認(rèn)打開(kāi)而非下載的這類(lèi)文件下載方式。其他像.zip.,.rar等文件瀏覽器默認(rèn)處理方式就是下載。
1.download屬性
HTML5中給a標(biāo)簽增加了一個(gè)download屬性洒敏,只要有這個(gè)屬性龄恋,點(diǎn)擊這個(gè)鏈接時(shí)瀏覽器就不在打開(kāi)鏈接指向的文件,而是改為下載(目前只有chrome凶伙、firefox和opera支持)郭毕。
示例:<a href="http://XXX" download></a>
2.服務(wù)器返回?cái)?shù)據(jù)流
走服務(wù)端返回二進(jìn)制流給瀏覽器下載,這種方式可以通過(guò)指定content-type來(lái)強(qiáng)制讓瀏覽器選擇下載而非打開(kāi)的方式函荣。
content-type值定義參考:http://www.zuidaima.com/question/2232374618098688.htm显押。
前端用一個(gè)隱藏的form
3.其他網(wǎng)上方法
其他直接使用iframe、form等方式親測(cè)不靠譜傻挂,會(huì)報(bào)類(lèi)似如下提示乘碑,且還是下載不了。
Resource interpreted as Document but transferred with MIME type audio/mpeg: