文件上传,JQ & 原生
https://www.cnblogs.com/h--d/p/Web.html
JQ文件下载
(1)在文件下载的时候,form表单可以将后端传输的流返回时让浏览器解析成为文件,实现无操作下载
(2)除此之外,使用jq的ajax 需要注意的是 $.ajax()会将返回的流进行一次封装,而这次封装却让浏览器无法主动识别流并解析文件,最终导致下载失败,解决办法是如下办法:
$('#excelOut').on('click', function () {
var parameter = {
"fdComcode": fvcomcode
};
ajaxBlob('FundVersionManageController/downloadExcel', parameter, function (data) {
var reader = new FileReader();
reader.readAsDataURL(data); // 转换为base64,可以直接放入a表情href
reader.onload = function (e) {
// 转换完成,创建一个a标签用于下载
var a = document.createElement('a');
a.download = '资金往来明细账.xlsx';
a.href = e.target.result;
$("body").append(a); // 修复firefox中无法触发click
a.click();
$(a).remove();
}
})
})
ajaxBlob('FundBusinessController/getFundBusinessExcel', parameter, function (data) {
var filename = orgname+".xls";
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(data, filename);//兼容IE写法
} else {
var a = document.createElement('a');
var url = createObjectURL(data);
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
window.URL.revokeObjectURL(url);
}
})
网友评论