在很多后台管理系统里可能会有导出表格,下载表格,下载压缩包等这样的需求。下面说几种简单的下载的方法:
1.最简单的,有文件的地址,直接使用a标签实现下载:
<a href="/user/test/xxxx.txt" download="文件名.txt">点击下载</a>
但是有个情况,比如txt,png,jpg等这些浏览器支持直接打开的文件是不会执行下载任务的,而是会直接打开文件,这个时候就需要给a标签添加一个属性“download”;
2.window.open()方法,后端提供下载接口:
html:
<button type="button" id="btn1">window.open()方法下载</button>
js:
var $eleBtn1 = $("#btn1");
//已知一个下载文件的后端接口: https://codeload.github.com/douban/douban-client/legacy.zip/master //方法一:window.open() $eleBtn1.click(function(){ var url = "https://codeload.github.com/douban/douban-client/legacy.zip/master"; window.open(url); });
3.通过form表单提交的方式:
html:
<button type="button" id="btn2">form方法下载</button>
js:
var $eleBtn2 = $("#btn2");
//已知一个下载文件的后端接口: https://codeload.github.com/douban/douban-client/legacy.zip/master
$eleBtn2.click(function(){ var $eleForm = $("<form method='get'></form>"); $eleForm.attr("action","https://codeload.github.com/douban/douban-client/legacy.zip/master"); $(document.body).append($eleForm); //提交表单,实现下载 $eleForm.submit(); });