原生Ajax处理文件流
2024-09-06 18:09:26
在通过Ajax处理请求时,可能会遇到需要下载文件的情况,这里简要的说明下处理方法。
let downloadFile = document.getElementById("downloadImportInfo");
let fileUrl = "D:/test.xlsx"; // ajax获取到的文件地址
downloadFile.onclick = function () {
const xhr = new XMLHttpRequest();
let url = "localhost:8000/api/downloadUrl/" + fileUrl; //通过接口处理文件
xhr.responseType = 'blob';
xhr.onload = function () {
if (this.status == "200") {
//获取响应文件流
let blob = this.response;
let a = document.createElement('a');
a.style = 'display:none';
const reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = function (e) {
a.download = "试验计划信息.xlsx";
a.href = e.target.result;
document.body.append(a);
a.click();
a.remove();
}
}
}
xhr.open("get", url, true);
xhr.send();
}
最新文章
- SpringMVC视图解析器
- jquery双向列表选择器DIV模拟版
- SQLSERVER中的ALL、PERCENT、CUBE关键字、ROLLUP关键字和GROUPING函数
- shell脚本切割tomcat的日志文件
- 时间戳转换成Date
- GL_Oracle Erp常用的报表(汇总)
- TT付款方式、前TT和后TT、LC信用证+TT付款方式
- Android progressBar 自定义圆形旋转图片
- javascript中false值及其常见比较运算
- MFC程序实现窗口分割,视图快捷插入控件和插入列表
- foreach遍历扩展(二)
- java基础之&;amp; 和 &;amp;&;amp; 的差别
- Python学习笔记——基础篇【第四周】——迭代器&;生成器、装饰器、递归、算法、正则表达式
- mysql清除数据库中字符串空格方法
- 基于div表单模拟右对齐
- CentsOS7无网情况下安装mysql5.7
- ssm实现分页查询
- Fast RCNN 中的 Hard Negative Mining
- 元素的属性:client系列,scroll系列,offset系
- js数组的用法以及数组根据下标(数值或字符)移除元素