1。通过一个标签的方式来下载
& lt; a href=https://www.yisu.com/zixun/蹦勘?‘平等’> >
2。通过提交形式表单的方式
var form 美元;=,美元(& # 39;& lt; form  action=? # 39; + url + & # 39;“,方法=皃ost",目标=皉fFrame"祝辞& lt;/form> & # 39;); angular.forEach (d函数(v, k) { ,,,v =, JSON.stringify (v); ,,,var input 美元;=,美元(& # 39;& lt; input 类型=癶idden", name=? # 39; + k + & # 39;“/祝辞& # 39;); ,,,美元input.attr(& # 39;价值# 39;,v); ,,,form.append美元($输入); }); (element.append美元形式); 美元form.submit (); 美元form.remove ();
3。通过http的请求拿到文件流的方式
http({美元 ,,,url :, scope.url美元, ,,,method :, & # 39;文章# 39; ,,,data :, scope.form.formdata美元, ,,,responseType :, & # 39; arraybuffer& # 39; })(函数(d) { ,,,var data =, d.data; ,,,,,,,var blob =, new Blob((数据),{类型:,“文本/plain"}); ,,,,,,//var blob =, new Blob((数据),{类型:,“应用程序/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});//xlsx ,,,,,,//var blob =, new Blob((数据),{类型:,“应用程序/vnd.ms-excel"});//xls ,,,,,,,var downloadTitle =, & # 39; & # 39;; ,,,,,,,如果(d.headers(& # 39;附加# 39;).indexOf(& # 39;文件名# 39;),!=,1){ ,,,,,,,,,,,downloadTitle =, d.headers(& # 39;附加# 39;).split (& # 39;; & # 39;) [1] .split (& # 39;=& # 39;) [1]; ,,,,,,,,,,,downloadTitle =, decodeURI (downloadTitle); ,,,,,,,} ,,,,,,,如果(typeof window.navigator.msSaveBlob  !==, & # 39;未定义# 39;){ ,,,,,,,,,,,window.navigator.msSaveBlob (blob, downloadTitle); ,,,,,,,其他}{ ,,,,,,,,,,,var objectUrl =, URL.createObjectURL (blob); ,,,,,,,,,,,var aForExcel =,美元(“& lt; a 下载=& # 39;“+ downloadTitle +“& # 39;祝辞& lt; span 类=& # 39;forExcel& # 39;祝辞& lt;/span> & lt;/a>“) .attr (“href" objectUrl); ,,,,,,,,,,,(“body")美元.append (aForExcel); ,,,,,,,,,,,(“.forExcel")美元.click (); ,,,,,,,,,,,aForExcel.remove (); ,,,,,,,} });