第一种 通用(包括跨域)
function downloadFile(url,fileName) {
fileName = fileName + '.xlsx';
var x = new XMLHttpRequest();
x.open("GET", url, true);
x.responseType = 'blob';
x.οnlοad=function(e) {
var url = window.URL.createObjectURL(x.response)
var a = document.createElement('a');
a.href = url
a.download = fileName;
a.click()
}
x.send();
}
第二种 通用(包括跨域)(个别qq浏览器不会下载,会将文件直接打开,在显示在下载文件)
利用隐藏form表单下载
function downloadFile(url) {
if(url){
var $form = $('<form method="GET"></form>');
$form.attr('action', url);
$form.appendTo($('#pageBox'));
$form.submit();
$form.remove();
}
}
第三种 直接使用a标签download属性(不支持跨域)(个别qq浏览版本点击无反应)
希望大家一起讨论更多方法