原理
a 标签是直接访问跳转到文件 url,浏览器判断是个可下载文件就会自动下载。get 是 ajax,只能返回 string 类型的数据,而文件 url 是一个对应的是一个文件流,ajax 接收不到。
拓展
实现下载文件功能,只要是可实现页面跳转,浏览器都会判断该文件是下载还是渲染。因此 a 标签、form 标签、iframe 标签都可以。
例子
form 表单
<form action=”http://192.168.0.96:9000/wac/interface/download” method=”get”>
<button type=”submit”> 提交 </button>
</form>
a 标签
<a href=”http://192.168.0.96:9000/wac/interface/download”>test</a>
iframe 标签【注意控制什么时候渲染出 iframe,iframe 一旦被渲染,文件即会被下载】
<iframe src=”http://192.168.0.96:9000/wac/interface/download”>test</iframe>